Crash TextData is nullptr when UMG TextWidget is bound

Repro Project Download:

https://drive.google.com/open?id=0B3cNp4c6stYIQ2E2Yng5MGE4SUE

Issue

When adding a custom Widget class to an existing vertical widget box editor will crash with the error “this->TextData.Object was nullptr” if a certain text widget is bound and the resulting bound function modifies the text in any way. Crash will not occur if text is not manipulated in the bound UMG ‘get’ function.

Call Stack

From production project, not repro project

Steps to Reproduce

Using provided repro project

  1. Open ReproWorld map (should open by default) and ensure “ReproGameMode” is the default overridden GameMode (should be by default).
  2. Play-in-editor, press Shift+F1 to gain a mouse cursor, press the “~TEST CRASH~” button.
  3. Observe project will NOT crash, and will display a chat item in the vertical box to the right of the screen.
  4. Stop PIE and open GUI/ChatTextContainer UMG Widget.
  5. Select the TwitchChat_NameBadge Text Widget under Overlay>[Horizontal Box]
  6. Bind the Text value to “Get_TwitchChat_NameBadge_Text_0”
  7. Return to main editor and repeat step 2
  8. Observe editor crash

Hello

I was able to reproduce this issue and narrow it down further. I have written up a report and I have submitted it to the developers for further consideration. I have also provided a link to the public tracker. Please feel free to use the link provided for future updates. Thank you for your time and information.

Link: Unreal Engine Issues and Bug Tracker (UE-35037)

As a note: The issues seems to be cause by using the “Get Text” node to set the binding for the text that is being referenced by the get text node.

Make it a great day

Hey,

As the issue tracker has this crashed marked as “Won’t Fix” can I get an elaboration as to why?

I understand this is easily worked around by not referencing text in the bound function, I’m simply curious.

As noted above this appears to be a circular reference issue. This does not appear to be the desired work flow for this type of set up.