Description

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       }
Steps to Reproduce
  1. Open the editor
  2. Navigate to Edit->Project Settings->Editor->Appearance
  3. Click the dropdown arrow to expand the Units category
  4. Click on the Angles dropdown

Result: Crash occurs

Callstack

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

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
ComponentTools
Affects Versions4.13
Target Fix4.13
Fix Commit3091890
Main Commit3109685
Release Commit3091890
CreatedAug 17, 2016
ResolvedAug 17, 2016
UpdatedMay 2, 2018