Description

When selecting an actor in the World Outliner that is using the ColorGradingMode specifier (ColorGradingMode = "saturation"), the editor crashes.

This did not occur in 4.15.3. This is a regression

Steps to Reproduce
  1. Open the editor
  2. Create a new C++ Actor class
  3. Add the following to the header:
     UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "PostProcess", meta = (UIMin = "0.0", UIMax = "2.0", Delta = "0.01", ColorGradingMode = "saturation", ShiftMouseMovePixelPerDelta = "10"))  
     FVector4 colorSaturation;
  4. Compile
  5. Place an instance in the level
  6. Select the instance in the World Outliner

Result: Editor crashes

Callstack

Access violation - code c0000005 (first/second chance not available)

UE4Editor_DetailCustomizations!FColorGradingVectorCustomization::CustomizeChildren() [d:\sean.flint_z5610_streammain\engine\source\editor\detailcustomizations\private\colorgradingvectorcustomization.cpp:637]
UE4Editor_DetailCustomizations!FVector4StructCustomization::CustomizeChildren() [d:\sean.flint_z5610_streammain\engine\source\editor\detailcustomizations\private\vector4structcustomization.cpp:40]
UE4Editor_PropertyEditor!FDetailPropertyRow::OnItemNodeInitialized() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\detailpropertyrow.cpp:218]
UE4Editor_PropertyEditor!FDetailItemNode::InitPropertyEditor() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\detailitemnode.cpp:94]
UE4Editor_PropertyEditor!FDetailItemNode::Initialize() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\detailitemnode.cpp:42]
UE4Editor_PropertyEditor!FDetailCategoryImpl::GenerateNodesFromCustomizations() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\detailcategorybuilderimpl.cpp:663]
UE4Editor_PropertyEditor!FDetailCategoryImpl::GenerateChildrenForSingleLayout() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\detailcategorybuilderimpl.cpp:685]
UE4Editor_PropertyEditor!FDetailCategoryImpl::GenerateChildrenForLayouts() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\detailcategorybuilderimpl.cpp:723]
UE4Editor_PropertyEditor!FDetailCategoryImpl::GenerateLayout() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\detailcategorybuilderimpl.cpp:869]
UE4Editor_PropertyEditor!FDetailLayoutBuilderImpl::BuildCategories() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\detaillayoutbuilderimpl.cpp:152]
UE4Editor_PropertyEditor!FDetailLayoutBuilderImpl::GenerateDetailLayout() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\detaillayoutbuilderimpl.cpp:196]
UE4Editor_PropertyEditor!SDetailsViewBase::UpdateSinglePropertyMap() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\sdetailsviewbase.cpp:408]
UE4Editor_PropertyEditor!SDetailsViewBase::UpdatePropertyMaps() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\sdetailsviewbase.cpp:373]
UE4Editor_PropertyEditor!SDetailsView::PostSetObject() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\sdetailsview.cpp:838]
UE4Editor_PropertyEditor!SDetailsView::SetObjectArrayPrivate() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\sdetailsview.cpp:600]
UE4Editor_PropertyEditor!SDetailsView::SetObjects() [d:\sean.flint_z5610_streammain\engine\source\editor\propertyeditor\private\sdetailsview.cpp:349]
UE4Editor_LevelEditor!SActorDetails::SetObjects() [d:\sean.flint_z5610_streammain\engine\source\editor\leveleditor\private\sactordetails.cpp:224]
UE4Editor_LevelEditor!SLevelEditor::OnActorSelectionChanged() [d:\sean.flint_z5610_streammain\engine\source\editor\leveleditor\private\sleveleditor.cpp:1489]
UE4Editor_LevelEditor!TBaseSPMethodDelegateInstance<0,SLevelEditor,0,TTypeWrapper<void> __cdecl(TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool)>::Execute() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
UE4Editor_LevelEditor!TBaseSPMethodDelegateInstance<0,SLevelEditor,0,void __cdecl(TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool)>::ExecuteIfSafe() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:434]
UE4Editor_LevelEditor!TBaseMulticastDelegate<void,TArray<UObject * __ptr64,FDefaultAllocator> const & __ptr64,bool>::Broadcast() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
UE4Editor_UnrealEd!UUnrealEdEngine::UpdateFloatingPropertyWindowsFromActorList() [d:\sean.flint_z5610_streammain\engine\source\editor\unrealed\private\editorhook.cpp:70]
UE4Editor_UnrealEd!UUnrealEdEngine::UpdateFloatingPropertyWindows() [d:\sean.flint_z5610_streammain\engine\source\editor\unrealed\private\editorhook.cpp:61]
UE4Editor_UnrealEd!UUnrealEdEngine::NoteSelectionChange() [d:\sean.flint_z5610_streammain\engine\source\editor\unrealed\private\editorselectutils.cpp:419]
UE4Editor_SceneOutliner!SceneOutliner::SSceneOutliner::OnOutlinerTreeSelectionChanged() [d:\sean.flint_z5610_streammain\engine\source\editor\sceneoutliner\private\ssceneoutliner.cpp:1883]
UE4Editor_SceneOutliner!TBaseSPMethodDelegateInstance<0,SceneOutliner::SSceneOutliner,0,TTypeWrapper<void> __cdecl(TSharedPtr<SceneOutliner::ITreeItem,0>,enum ESelectInfo::Type)>::Execute() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:327]
UE4Editor_SceneOutliner!TBaseSPMethodDelegateInstance<0,SceneOutliner::SSceneOutliner,0,void __cdecl(TSharedPtr<SceneOutliner::ITreeItem,0>,enum ESelectInfo::Type)>::ExecuteIfSafe() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:434]
UE4Editor_SceneOutliner!TBaseDelegate<void,TSharedPtr<SceneOutliner::ITreeItem,0>,enum ESelectInfo::Type>::ExecuteIfBound() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:624]
UE4Editor_SceneOutliner!SListView<TSharedPtr<SceneOutliner::ITreeItem,0> >::Private_SignalSelectionChanged() [d:\sean.flint_z5610_streammain\engine\source\runtime\slate\public\widgets\views\slistview.h:735]
UE4Editor_SceneOutliner!STableRow<TSharedPtr<SceneOutliner::ITreeItem,0> >::OnMouseButtonUp() [d:\sean.flint_z5610_streammain\engine\source\runtime\slate\public\widgets\views\stablerow.h:476]
UE4Editor_SceneOutliner!SceneOutliner::SSceneOutlinerTreeRow::OnMouseButtonUp() [d:\sean.flint_z5610_streammain\engine\source\editor\sceneoutliner\private\soutlinertreeview.cpp:219]
UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator()() [d:\sean.flint_z5610_streammain\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5087]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() [d:\sean.flint_z5610_streammain\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:239]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\sean.flint_z5610_streammain\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5076]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\sean.flint_z5610_streammain\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5557]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\sean.flint_z5610_streammain\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5537]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\private\windows\windowsapplication.cpp:1699]
UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\private\windows\windowsapplication.cpp:2122]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\private\windows\windowsapplication.cpp:862]
UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\private\windows\windowsapplication.cpp:709]
user32
user32
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\sean.flint_z5610_streammain\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:1009]
UE4Editor!FEngineLoop::Tick() [d:\sean.flint_z5610_streammain\engine\source\runtime\launch\private\launchengineloop.cpp:3089]
UE4Editor!GuardedMain() [d:\sean.flint_z5610_streammain\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\sean.flint_z5610_streammain\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\sean.flint_z5610_streammain\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
kernel32
ntdll

Have Comments or More Details?

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

1
Login to Vote

Fixed
ComponentTools
Affects Versions4.164.17
Target Fix4.17
Fix Commit3480804
Main Commit3499771
CreatedJun 2, 2017
ResolvedJun 8, 2017
UpdatedApr 27, 2018