Editor now provides error message stating "Cannot add components that have "Within" markup" rather than crash
Crash occurs when attempting to add an actor component c++ class to a game mode blueprint if the actor component is tagged with the Within="GameMode".
Found in 4.11.2 binary, reproduced in 4.10.4 binary.
Regression?
No, reproduced in 4.10.4 as well.
1. Open the editor
2. Create a new actor component C++ class
3. In the UCLASS() macro, add this line "Within=(GameMode), with GameMode being the name of your game mode class.
4. Compile
5. In the editor, create a blueprint based on your game mode
6. Open the game mode blueprint
7. Attempt to add your actor component C++ class to the game mode blueprint
Result: Editor crashes
Expected: No crash would occur and actor component would be added successfully.
UE4Editor_CoreUObject!StaticAllocateObjectErrorTests() [uobjectglobals.cpp:1983] UE4Editor_CoreUObject!StaticAllocateObject() [uobjectglobals.cpp:2022] UE4Editor_CoreUObject!StaticConstructObject_Internal() [uobjectglobals.cpp:2788] UE4Editor_Engine!NewObject<UActorComponent>() [uobjectglobals.h:1176] UE4Editor_Engine!USimpleConstructionScript::CreateNode() [simpleconstructionscript.cpp:1124] UE4Editor_Kismet!SSCSEditor::AddNewComponent() [sscseditor.cpp:4628] UE4Editor_Kismet!SSCSEditor::PerformComboAddClass() [sscseditor.cpp:3977] UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,SSCSEditor,0,UActorComponent * __ptr64 __cdecl() [delegateinstancesimpl_variadics.inl:321] UE4Editor_UnrealEd!SComponentClassCombo::OnAddComponentSelectionChanged() [scomponentclasscombo.cpp:257] UE4Editor_UnrealEd!TBaseSPMethodDelegateInstance<0,SComponentClassCombo,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl_variadics.inl:321] UE4Editor_UnrealEd!TBaseSPMethodDelegateInstance<0,SComponentClassCombo,0,void __cdecl() [delegateinstancesimpl_variadics.inl:428] UE4Editor_UnrealEd!TBaseDelegate<void,TSharedPtr<FComponentClassComboEntry,0>,enum ESelectInfo::Type>::ExecuteIfBound() [delegatesignatureimpl_variadics.inl:608] UE4Editor_UnrealEd!SListView<TSharedPtr<FComponentClassComboEntry,0> >::Private_SignalSelectionChanged() [slistview.h:609] UE4Editor_UnrealEd!SComboRow<TSharedPtr<FString,0> >::OnMouseButtonDown() [scombobox.h:57] UE4Editor_Slate!<lambda_7097b900f0e4be30d80fb18f98c51ea0>::operator() [slateapplication.cpp:4459] UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,<lambda_7097b900f0e4be30d80fb18f98c51ea0> >() [slateapplication.cpp:214] UE4Editor_Slate!FSlateApplication::RoutePointerDownEvent() [slateapplication.cpp:4448] UE4Editor_Slate!FSlateApplication::ProcessMouseButtonDownEvent() [slateapplication.cpp:4406] UE4Editor_Slate!FSlateApplication::OnMouseDown() [slateapplication.cpp:4340] UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [windowsapplication.cpp:1353] UE4Editor_Core!FWindowsApplication::DeferMessage() [windowsapplication.cpp:1732] UE4Editor_Core!FWindowsApplication::ProcessMessage() [windowsapplication.cpp:697] UE4Editor_Core!FWindowsApplication::AppWndProc() [windowsapplication.cpp:619] user32!<Unknown> user32!<Unknown> UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [windowsplatformmisc.cpp:884] UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:2611] UE4Editor!GuardedMain() [launch.cpp:142] UE4Editor!GuardedMainWrapper() [launchwindows.cpp:126] UE4Editor!WinMain() [launchwindows.cpp:200] UE4Editor!__scrt_common_main_seh() [exe_common.inl:264] kernel32!<Unknown> ntdll!<Unknown>
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-29878 in the post.
0 |
Component | UE - Gameplay - Components |
---|---|
Affects Versions | 4.11 |
Target Fix | 4.12 |
Created | Apr 25, 2016 |
---|---|
Resolved | May 17, 2016 |
Updated | Aug 10, 2023 |