The editor crashes when attempting to make a change to the units located in Edit->Project Settings->Editor->Appearance.
The crash occurs as soon as one of the dropdowns is clicked.
This is a regression. It does not occur in 4.12.5.
Source Context:
105 } 106 107 TSharedRef<SWidget> SPropertyComboBox::OnGenerateComboWidget( TSharedPtr<FString> InComboString ) 108 { 109 //Find the corresponding tool tip for this combo entry if any 110 TSharedPtr<SToolTip> RichToolTip = nullptr; 111 bool bEnabled = true; 112 if (RichToolTips.Num() > 0) 113 { 114 int32 Index = ComboItemList.IndexOfByKey(InComboString); 115 if (Index >= 0) 116 { 117 //A list of tool tips should have been populated in a 1 to 1 correspondance 118 check(ComboItemList.Num() == RichToolTips.Num()); 119 ***** RichToolTip = RichToolTips[Index]; 120 121 if( RestrictedList.Num() > 0 ) 122 { 123 bEnabled = !RestrictedList[Index]; 124 } 125 } 126 } 127 128 return 129 SNew( STextBlock ) 130 .Text( FText::FromString(*InComboString) ) 131 .Font( Font ) 132 .ToolTip(RichToolTip) 133 .IsEnabled(bEnabled); 134 }
Result: Crash occurs
Assertion failed: ComboItemList.Num() == RichToolTips.Num() [Link Removed] [Line: 119]
UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:421] UE4Editor_PropertyEditor!SPropertyComboBox::OnGenerateComboWidget() [d:\build\++ue4+release-4.13+compile\sync\engine\source\editor\propertyeditor\private\userinterface\propertyeditor\spropertycombobox.cpp:120] UE4Editor_PropertyEditor!TMemberFunctionCaller<SPropertyComboBox,TSharedRef<SWidget,0> (__cdecl SPropertyComboBox::*)(TSharedPtr<FString,0>) __ptr64>::operator()<TSharedPtr<FString,0> & __ptr64>() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:161] UE4Editor_PropertyEditor!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SPropertyComboBox,TSharedRef<SWidget,0> (__cdecl SPropertyComboBox::*)(TSharedPtr<FString,0>) __ptr64>,TSharedPtr<FString,0> & __ptr64>() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\tuple.h:115] UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyComboBox,0,TSharedRef<SWidget,0> __cdecl(TSharedPtr<FString,0>)>::Execute() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:317] UE4Editor_PropertyEditor!TBaseDelegate<TSharedRef<SWidget,0>,TSharedPtr<FString,0> >::Execute() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:521] UE4Editor_PropertyEditor!SComboBox<TSharedPtr<FString,0> >::GenerateMenuItemRow() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\public\widgets\input\scombobox.h:303] UE4Editor_PropertyEditor!TMemberFunctionCaller<SComboBox<TSharedPtr<FString,0> >,TSharedRef<ITableRow,0> (__cdecl SComboBox<TSharedPtr<FString,0> >::*)(TSharedPtr<FString,0>,TSharedRef<STableViewBase,0> const & __ptr64) __ptr64>::operator()<TSharedPtr<FStrin() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:161] UE4Editor_PropertyEditor!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SComboBox<TSharedPtr<FString,0> >,TSharedRef<ITableRow,0> (__cdecl SComboBox<TSharedPtr<FString,0> >::*)(TSharedPtr<FString,0>,TSharedRef<STableViewBase,0>() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\tuple.h:115] UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SComboBox<TSharedPtr<FString,0> >,0,TSharedRef<ITableRow,0> __cdecl(TSharedPtr<FString,0>,TSharedRef<STableViewBase,0> const & __ptr64)>::Execute() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:317] UE4Editor_PropertyEditor!TBaseDelegate<TSharedRef<ITableRow,0>,TSharedPtr<FString,0>,TSharedRef<STableViewBase,0> const & __ptr64>::Execute() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:521] UE4Editor_PropertyEditor!SListView<TSharedPtr<FString,0> >::GenerateNewWidget() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\public\widgets\views\slistview.h:963] UE4Editor_PropertyEditor!SListView<TSharedPtr<FString,0> >::GenerateWidgetForItem() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\public\widgets\views\slistview.h:914] UE4Editor_PropertyEditor!SListView<TSharedPtr<FString,0> >::ReGenerateItems() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\public\widgets\views\slistview.h:824] UE4Editor_Slate!STableViewBase::Tick() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\widgets\views\stableviewbase.cpp:237] UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:689] UE4Editor_Slate!SBox::OnPaint() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\widgets\layout\sbox.cpp:235] UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:692] UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:25] UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:90] UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:692] UE4Editor_SlateCore!FSlateWindowElementList::FDeferredPaint::ExecutePaint() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slatecore\private\rendering\drawelements.cpp:568] UE4Editor_SlateCore!FSlateWindowElementList::PaintDeferred() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slatecore\private\rendering\drawelements.cpp:593] UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:719] UE4Editor_Slate!FSlateApplication::DrawWindowAndChildren() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1122] UE4Editor_Slate!FSlateApplication::DrawWindowAndChildren() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1211] UE4Editor_Slate!FSlateApplication::DrawWindowAndChildren() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1211] UE4Editor_Slate!FSlateApplication::PrivateDrawWindows() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1357] UE4Editor_Slate!FSlateApplication::DrawWindows() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1079] UE4Editor_Slate!FSlateApplication::TickApplication() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1677] UE4Editor_Slate!FSlateApplication::Tick() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1469] UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2869] UE4Editor!GuardedMain() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\launch.cpp:156] UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:126] UE4Editor!WinMain() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:202] UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264] kernel32 ntdll
Head over to the existing Questions & Answers thread and let us know what's up.