Description

This is a somewhat common Landscape crash occurring throughout the 4.17 release.

User Descriptions

  • 1) rename landscape layer, 2) delete layer in landscape tool

Source Context

 1307       FReply FLandscapeEditorCustomNodeBuilder_TargetLayers::OnTargetLayerDeleteClicked(const TSharedRef<FLandscapeTargetListInfo> Target)
 1308       {
 1309       	check(Target->LayerInfoObj.IsValid());
 1310 ***** 	check(Target->LandscapeInfo.IsValid());
 1311       
 1312       	if (FMessageDialog::Open(EAppMsgType::YesNo, LOCTEXT("Prompt_DeleteLayer", "Are you sure you want to delete this layer?")) == EAppReturnType::Yes)
 1313       	{
 1314       		FScopedTransaction Transaction(LOCTEXT("Undo_Delete", "Delete Layer"));
 1315       
 1316       		Target->LandscapeInfo->DeleteLayer(Target->LayerInfoObj.Get());
 1317       
 1318       		FEdModeLandscape* LandscapeEdMode = GetEditorMode();
 1319       		if (LandscapeEdMode)
 1320       		{
 1321       			LandscapeEdMode->UpdateTargetList();
 1322       		}
 1323       	}
Steps to Reproduce
  1. Open QAGame
  2. Open QA-Landscape map
  3. In the Modes panel select Landscape mode and select the Paint option
  4. Open M_LandscapeMaterial from the Content Browser
  5. Select the Layer 'Layer 1' node in the graph
  6. In the details panel change the Parameter name to Layer12 and save the material
  7. Find Layer1_LayerInfo in the content browser and right click delete
  8. Select Force Deletion
  9. Scroll down to layers and click the X next to Layer1

Result: Crash

Callstack
Assertion failed: Target->LayerInfoObj.IsValid() 
[File:D:\Build\++UE4+Release-4.17+Compile\Sync\Engine\Source\Editor\LandscapeEditor\Private\LandscapeEditorDetailCustomization_TargetLayers.cpp] [Line: 1310]

UE4Editor_LandscapeEditor!FLandscapeEditorCustomNodeBuilder_TargetLayers::OnTargetLayerDeleteClicked() [landscapeeditordetailcustomization_targetlayers.cpp:1311]
UE4Editor_LandscapeEditor!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int,0>,TSharedRef<FLandscapeTargetListInfo,0> >::ApplyAfter<FReply() [tuple.h:422]
UE4Editor_LandscapeEditor!TBaseStaticDelegateInstance<FReply __cdecl() [delegateinstancesimpl.h:958]
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() [delegatesignatureimpl.inl:537]
UE4Editor_Slate!SButton::OnMouseButtonUp() [sbutton.cpp:282]
UE4Editor_Slate!<lambda_1002768c627006711ef2f351a87ec0e7>::operator() [slateapplication.cpp:5199]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_1002768c627006711ef2f351a87ec0e7> >() [slateapplication.cpp:232]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [slateapplication.cpp:5188]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [slateapplication.cpp:5690]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [slateapplication.cpp:5670]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [windowsapplication.cpp:1718]
UE4Editor_Core!FWindowsApplication::DeferMessage() [windowsapplication.cpp:2161]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [windowsapplication.cpp:881]
UE4Editor_Core!FWindowsApplication::AppWndProc() [windowsapplication.cpp:721]
user32!UserCallWinProcCheckWow()
user32!DispatchMessageWorker()
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [windowsplatformmisc.cpp:1009]
UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:3151]
UE4Editor!GuardedMain() [launch.cpp:166]
UE4Editor!GuardedMainWrapper() [launchwindows.cpp:134]
UE4Editor!WinMain() [launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [exe_common.inl:253]
kernel32!BaseThreadInitThunk()
ntdll!RtlUserThreadStart()

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-50830 in the post.

0
Login to Vote

Fixed
ComponentLandscape & World Composition
Affects Versions4.174.18
Target Fix4.18
Fix Commit3692583
Release Commit3692583
CreatedOct 5, 2017
ResolvedOct 12, 2017
UpdatedOct 13, 2017