Description

Changing the Curve Asset in a Material Instance That Uses a Material Layer Crashes the Editor.

Found in 4.20 CL# 4369336, 4.21 CL# 4753647, 4.22 CL# 5660361, 4.23 CL# 5974510

Steps to Reproduce
  1. Open attached project
  2. Open the Material Instance "BlendMaterial_CurveTest_Inst"
  3. In the Material Layer Change the Curve to CurveB

Results:
Crash

Expected:
The curve will change

Callstack
Assertion failed: IsValid() [File:d:\jeremymain\engine\source\runtime\core\public\Templates/SharedPointer.h] [Line: 851]

UE4Editor_Core!FWindowsErrorOutputDevice::Serialize() [d:\jeremymain\engine\source\runtime\core\private\windows\windowserroroutputdevice.cpp:79]
UE4Editor_Core!FOutputDevice::LogfImpl() [d:\jeremymain\engine\source\runtime\core\private\misc\outputdevice.cpp:71]
UE4Editor_Core!FDebug::AssertFailed() [d:\jeremymain\engine\source\runtime\core\private\misc\assertionmacros.cpp:446]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [d:\jeremymain\engine\source\runtime\core\private\misc\assertionmacros.cpp:424]
UE4Editor_MaterialEditor!FMaterialPropertyHelpers::SetPositionFromCurveAsset() [d:\jeremymain\engine\source\editor\materialeditor\private\materialpropertyhelpers.cpp:1233]
UE4Editor_MaterialEditor!TBaseStaticDelegateInstance<void __cdecl(FAssetData const &),TSoftObjectPtr<UCurveLinearColorAtlas>,UDEditorScalarParameterValue *,TSharedPtr<IPropertyHandle,0>,UObject *>::ExecuteIfSafe() [d:\jeremymain\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:854]
UE4Editor_PropertyEditor!SObjectPropertyEntryBox::OnSetObject() [d:\jeremymain\engine\source\editor\propertyeditor\private\propertycustomizationhelpers.cpp:555]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SObjectPropertyEntryBox,0,void __cdecl(FAssetData const &)>::ExecuteIfSafe() [d:\jeremymain\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:369]
UE4Editor_PropertyEditor!SPropertyEditorAsset::SetValue() [d:\jeremymain\engine\source\editor\propertyeditor\private\userinterface\propertyeditor\spropertyeditorasset.cpp:820]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyEditorAsset,0,void __cdecl(FAssetData const &)>::ExecuteIfSafe() [d:\jeremymain\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:369]
UE4Editor_PropertyEditor!SPropertyMenuAssetPicker::OnAssetSelected() [d:\jeremymain\engine\source\editor\propertyeditor\private\userinterface\propertyeditor\spropertymenuassetpicker.cpp:266]
UE4Editor_PropertyEditor!TBaseSPMethodDelegateInstance<0,SPropertyMenuAssetPicker,0,void __cdecl(FAssetData const &)>::ExecuteIfSafe() [d:\jeremymain\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:369]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetPicker,0,void __cdecl(FAssetData const &,enum ESelectInfo::Type)>::ExecuteIfSafe() [d:\jeremymain\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:369]
UE4Editor_ContentBrowser!SAssetView::AssetSelectionChanged() [d:\jeremymain\engine\source\editor\contentbrowser\private\sassetview.cpp:4159]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,void __cdecl(TSharedPtr<FAssetViewItem,0>,enum ESelectInfo::Type)>::ExecuteIfSafe() [d:\jeremymain\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:369]
UE4Editor_ContentBrowser!SListView<TSharedPtr<FAssetViewItem,0> >::Private_SignalSelectionChanged() [d:\jeremymain\engine\source\runtime\slate\public\widgets\views\slistview.h:746]
UE4Editor_ContentBrowser!STableRow<TSharedPtr<FAssetViewItem,0> >::OnMouseButtonUp() [d:\jeremymain\engine\source\runtime\slate\public\widgets\views\stablerow.h:489]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_6c1f6b862bcfb82ea6dcab28fbcc9463> >() [d:\jeremymain\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:271]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\jeremymain\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5606]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\jeremymain\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:6211]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\jeremymain\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:6184]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [d:\jeremymain\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1843]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [d:\jeremymain\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:2295]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [d:\jeremymain\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1523]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [d:\jeremymain\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:773]
user32
user32
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [d:\jeremymain\engine\source\runtime\applicationcore\private\windows\windowsplatformapplicationmisc.cpp:122]
UE4Editor!FEngineLoop::Tick() [d:\jeremymain\engine\source\runtime\launch\private\launchengineloop.cpp:3955]
UE4Editor!GuardedMain() [d:\jeremymain\engine\source\runtime\launch\private\launch.cpp:173]
UE4Editor!GuardedMainWrapper() [d:\jeremymain\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UE4Editor!WinMain() [d:\jeremymain\engine\source\runtime\launch\private\windows\launchwindows.cpp:275]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-73129 in the post.

1
Login to Vote

Fixed
ComponentUE - Graphics Features
Affects Versions4.204.214.224.23
Target Fix4.24
Fix Commit8641859
CreatedApr 22, 2019
ResolvedSep 11, 2019
UpdatedFeb 26, 2020