Opening a DataTable that is set to a Struct that is using a Key variable will crash the editor
User Description:
I'm getting this crash when using Key variable in DataTable.
I was able to repro it in an empty project :
Create a Struct
Add a "Key" variable
Create a DataTable using that Struct
Open DataTable : Crash
1. Open QA-Game
2. Create a new Struct & open it
3. Change the variable to a Key type
4. Save & close
5. Create a DataTable
6. When prompted, choose the Struct that you just created
7. Double-click to open the DataTable
Results: The editor will crash
Expected: For the DataTable to open and be editable
MachineId:DE189244480D3CD0F8CA729A02DD38A6
EpicAccountId:75f47e038a8442f0af6c18e1f38eeb85
Access violation - code c0000005 (first/second chance not available)
"Assertion failed: StructPtrs.Num() != 0 [File[Image Removed]:\BuildFarm\buildmachine_++depot+UE4-Releases+4.9\Engine\Source\Editor\DetailCustomizations\Private\KeyStructCustomi
UE4Editor_Core!FSlowTask::GetCurrentMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\misc\feedbackcontext.h:264] UE4Editor_UnrealEd!SSlowTaskWidget::GetProgressText() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\editor\unrealed\private\feedbackcontexteditor.cpp:301] UE4Editor_UnrealEd!SSlowTaskWidget::GetMainTextFont() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\editor\unrealed\private\feedbackcontexteditor.cpp:255] UE4Editor_UnrealEd!TMemberFunctionCaller<SSlowTaskWidget,FSlateFontInfo (__cdecl SSlowTaskWidget::*)(void)const __ptr64>::operator()<>() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegateinstanceinterface_variadics.h:161] UE4Editor_UnrealEd!TTupleImpl<TIntegerSequence<> >::ApplyAfter_ExplicitReturnType<FSlateFontInfo,TMemberFunctionCaller<SSlowTaskWidget,FSlateFontInfo (__cdecl SSlowTaskWidget::*)(void)const __ptr64> >() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\tuple.h:113] UE4Editor_UnrealEd!TBaseSPMethodDelegateInstance<1,SSlowTaskWidget,0,FSlateFontInfo __cdecl(void)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282] UE4Editor_Slate!TBaseDelegate<FSlateFontInfo>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:440] UE4Editor_Slate!TAttribute<FSlateFontInfo>::Get() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\misc\attribute.h:135] UE4Editor_Slate!STextBlock::GetFont() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\widgets\text\stextblock.cpp:40] UE4Editor_Slate!STextBlock::GetComputedTextStyle() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\widgets\text\stextblock.cpp:271] 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_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_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_SlateCore!SWidget::SlatePrepass() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slatecore\private\widgets\swidget.cpp:394] UE4Editor_Slate!PrepassWindowAndChildren() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1054] UE4Editor_Slate!FSlateApplication::DrawPrepass() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1077] UE4Editor_Slate!FSlateApplication::PrivateDrawWindows() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1143] 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]
Head over to the existing Questions & Answers thread and let us know what's up.