Description

If the project is hot reloaded while a Switch on Enum is inside of a blueprint which is switching on a custom enum, the switch will become corrupted. It changes the 'selection' pin to take a Byte parameter which causes the node to have compilation errors. This can be fixed by refreshing the node. Attempting to click the dropdown for the selection (when no pins are connected to it) it will cause a crash.

Steps to Reproduce

1. Download the attached project and unzip it
2. Generate the project (right-click the .uproject file and select Generate Visual Studio Project files)
3. Open the .sln file that is generated and compile the project
4. Once that is complete, open the .uproject file
5. Open the MyUserWidgetBP in the editor
6. Inside of the .sln, open MyUserWidget.h and add a variable, i.e. add the following line of code on line 20.

 int32 TestVariable 

7. Compile the project and return to the editor.
8. Once the editor is hot reloaded, try to compile the blueprint that is open
Result: The compilation fails
Expected: The compilation succeeds without issue

To get the crash, from step 8, select the dropdown box on the Switch on EMyEnum in the Graph tab of the blueprint

To workaround the issue, refresh all nodes

Callstack
MachineId:CBED442E4F2EE6B2A9D9BC8E57AE98C0
EpicAccountId:fb97c75d3c2041ad93ce1ee90d0703d7

Unknown exception - code 00000001 (first/second chance not available)

"Assertion failed: EnumPtr [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.9\Engine\Source\Editor\GraphEditor\Private

UE4Editor_Core!FDebug::AssertFailed() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\private\misc\outputdevice.cpp:354]
UE4Editor_GraphEditor!SGraphPinEnum::OnGetFriendlyName() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\editor\grapheditor\private\kismetpins\sgraphpinenum.cpp:113]
UE4Editor_GraphEditor!TMemberFunctionCaller<SGraphPinEnum,FText (__cdecl SGraphPinEnum::*)(int) __ptr64>::operator()<int & __ptr64>() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegateinstanceinterface_variadics.h:161]
UE4Editor_GraphEditor!TTupleImpl<TIntegerSequence<> >::ApplyAfter_ExplicitReturnType<FText,TMemberFunctionCaller<SGraphPinEnum,FText (__cdecl SGraphPinEnum::*)(int) __ptr64>,int & __ptr64>() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\tuple.h:113]
UE4Editor_GraphEditor!TBaseSPMethodDelegateInstance<0,SGraphPinEnum,0,FText __cdecl(int)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
UE4Editor_GraphEditor!TBaseDelegate<FText,int>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:440]
UE4Editor_GraphEditor!SPinComboBox::GetRowString() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\editor\grapheditor\public\sgraphpincombobox.h:47]
UE4Editor_GraphEditor!TMemberFunctionCaller<SPinComboBox,FText (__cdecl SPinComboBox::*)(int)const __ptr64>::operator()<int const & __ptr64>() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegateinstanceinterface_variadics.h:161]
UE4Editor_GraphEditor!TTupleImpl<TIntegerSequence<0>,int>::ApplyAfter_ExplicitReturnType<FText,TMemberFunctionCaller<SPinComboBox,FText (__cdecl SPinComboBox::*)(int)const __ptr64> >() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\tuple.h:78]
UE4Editor_GraphEditor!TBaseSPMethodDelegateInstance<1,SPinComboBox,0,FText __cdecl(void),int>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
UE4Editor_Slate!TBaseDelegate<FText>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:440]
UE4Editor_Slate!TAttribute<FText>::Get() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\misc\attribute.h:135]
UE4Editor_Slate!FTextBlockLayout::ComputeDesiredSize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\widgets\text\textblocklayout.cpp:46]
UE4Editor_Slate!STextBlock::ComputeDesiredSize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\widgets\text\stextblock.cpp:180]
UE4Editor_SlateCore!SWidget::CacheDesiredSize() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\swidget.cpp:405]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\swidget.cpp:399]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\swidget.cpp:394]
UE4Editor_SlateCore!SWidget::SlatePrepass() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\swidget.cpp:394]
UE4Editor_GraphEditor!SListView<TSharedPtr<int,0> >::GenerateWidgetForItem() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\public\widgets\views\slistview.h:900]
UE4Editor_GraphEditor!SListView<TSharedPtr<int,0> >::ReGenerateItems() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\public\widgets\views\slistview.h:795]
UE4Editor_Slate!STableViewBase::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\widgets\views\stableviewbase.cpp:237]
UE4Editor_SlateCore!SWidget::Paint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\swidget.cpp:700]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:25]
UE4Editor_Slate!SBorder::OnPaint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:94]
UE4Editor_SlateCore!SWidget::Paint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\swidget.cpp:703]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\spanel.cpp:39]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\spanel.cpp:19]
UE4Editor_SlateCore!SWidget::Paint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\swidget.cpp:703]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:25]
UE4Editor_Slate!SBorder::OnPaint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:94]
UE4Editor_SlateCore!SWidget::Paint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\swidget.cpp:703]
UE4Editor_SlateCore!FSlateWindowElementList::FDeferredPaint::ExecutePaint() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\rendering\drawelements.cpp:339]
UE4Editor_SlateCore!FSlateWindowElementList::PaintDeferred() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\rendering\drawelements.cpp:357]
UE4Editor_Slate!FSlateApplication::DrawWindowAndChildren() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:964]
UE4Editor_Slate!FSlateApplication::DrawWindowAndChildren() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1040]
UE4Editor_Slate!FSlateApplication::PrivateDrawWindows() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1182]
UE4Editor_Slate!FSlateApplication::DrawWindows() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:927]
UE4Editor_Slate!FSlateApplication::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1441]
UE4Editor!FEngineLoop::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\launchengineloop.cpp:2461]
UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Fixed
ComponentUE - Foundation - Core
Affects Versions4.8.34.9.14.11
Target Fix4.10
Fix Commit2710850
Release Commit2712483
CreatedSep 28, 2015
ResolvedSep 30, 2015
UpdatedFeb 5, 2017