Description

The editor crashes when trying to set the text for a text block via a binding a if the text block is trying to set its text by referencing its current text setting.

Steps to Reproduce
  1. Open the editor
  2. Create a new widget blueprint
  3. Add a text widget to the designer tab
  4. Make the text widget a variable
  5. Create binding for the text widget text
  6. Create the blueprint in the attached image
  7. Save and compile
  8. Open the level blueprint
  9. Add the widget to the viewport
  10. Play in editor
  11. Notice the editor crashes

Expected: The use would be given an error or the text would set
Result: The editor crashes

Callstack
UE4Editor_Core!FText::Rebuild() text.cpp:869 
UE4Editor_Core!FTextFormatter::Format() textformatter.cpp:895 
UE4Editor_Engine!UKismetTextLibrary::Format() kismettextlibrary.cpp:276 
UE4Editor_Engine!UKismetTextLibrary::execFormat() kismettextlibrary.h:81 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::CallFunction() scriptcore.cpp:697 
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() scriptcore.cpp:2126 
UE4Editor_CoreUObject!UObject::execLet() scriptcore.cpp:1925 
UE4Editor_CoreUObject!UObject::ProcessInternal() scriptcore.cpp:922 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::ProcessEvent() scriptcore.cpp:1305 
UE4Editor_UMG!FDynamicPropertyPath::GetValueRecursive<FText>() dynamicpropertypath.h:347 
UE4Editor_UMG!UTextBinding::GetTextValue() textbinding.cpp:47 
UE4Editor_UMG!UTextBinding::execGetTextValue() textbinding.h:10 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::ProcessEvent() scriptcore.cpp:1305 
UE4Editor_UMG!TBaseUFunctionDelegateInstance<UObject,FText __cdecl() delegateinstancesimpl.h:127 
UE4Editor_Slate!TBaseDelegate<FText>::Execute() delegatesignatureimpl.inl:521 
UE4Editor_Slate!TAttribute<FText>::Get() attribute.h:135 
UE4Editor_UMG!UTextBlock::GetText() textblock.cpp:157 
UE4Editor_UMG!UTextBlock::execGetText() textblock.h:16 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::CallFunction() scriptcore.cpp:697 
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() scriptcore.cpp:2126 
UE4Editor_CoreUObject!UObject::execLet() scriptcore.cpp:1925 
UE4Editor_CoreUObject!UObject::ProcessInternal() scriptcore.cpp:922 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::ProcessEvent() scriptcore.cpp:1305 
UE4Editor_UMG!FDynamicPropertyPath::GetValueRecursive<FText>() dynamicpropertypath.h:347 
UE4Editor_UMG!UTextBinding::GetTextValue() textbinding.cpp:47 
UE4Editor_UMG!UTextBinding::execGetTextValue() textbinding.h:10 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::ProcessEvent() scriptcore.cpp:1305 
UE4Editor_UMG!TBaseUFunctionDelegateInstance<UObject,FText __cdecl() delegateinstancesimpl.h:127 
UE4Editor_Slate!TBaseDelegate<FText>::Execute() delegatesignatureimpl.inl:521 
UE4Editor_Slate!TAttribute<FText>::Get() attribute.h:135 
UE4Editor_UMG!UTextBlock::GetText() textblock.cpp:157 
UE4Editor_UMG!UTextBlock::execGetText() textblock.h:16 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::CallFunction() scriptcore.cpp:697 
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() scriptcore.cpp:2126 
UE4Editor_CoreUObject!UObject::execLet() scriptcore.cpp:1925 
UE4Editor_CoreUObject!UObject::ProcessInternal() scriptcore.cpp:922 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::ProcessEvent() scriptcore.cpp:1305 
UE4Editor_UMG!FDynamicPropertyPath::GetValueRecursive<FText>() dynamicpropertypath.h:347 
UE4Editor_UMG!UTextBinding::GetTextValue() textbinding.cpp:47 
UE4Editor_UMG!UTextBinding::execGetTextValue() textbinding.h:10 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::ProcessEvent() scriptcore.cpp:1305 
UE4Editor_UMG!TBaseUFunctionDelegateInstance<UObject,FText __cdecl() delegateinstancesimpl.h:127 
UE4Editor_Slate!TBaseDelegate<FText>::Execute() delegatesignatureimpl.inl:521 
UE4Editor_Slate!TAttribute<FText>::Get() attribute.h:135 
UE4Editor_UMG!UTextBlock::GetText() textblock.cpp:157 
UE4Editor_UMG!UTextBlock::execGetText() textblock.h:16 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::CallFunction() scriptcore.cpp:697 
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() scriptcore.cpp:2126 
UE4Editor_CoreUObject!UObject::execLet() scriptcore.cpp:1925 
UE4Editor_CoreUObject!UObject::ProcessInternal() scriptcore.cpp:922 
UE4Editor_CoreUObject!UFunction::Invoke() class.cpp:4280 
UE4Editor_CoreUObject!UObject::ProcessEvent() scriptcore.cpp:1305 
UE4Editor_UMG!FDynamicPropertyPath::GetValueRecursive<FText>() dynamicpropertypath.h:347 
UE4Editor_UMG!UTextBinding::GetTextValue() textbinding.cpp:47 

Have Comments or More Details?

Head over to the existingAnswerHub thread and let us know what's up.

1
Login to Vote

Won't Fix
ComponentTools - UMG
Affects Versions4.12.5
CreatedAug 22, 2016
ResolvedSep 6, 2016
UpdatedMay 2, 2018