Description

When first added as a child widget in NamedSlot, the child widget can be dragged and dropped onto the parent widget's designer. The following assert causes a crash.

Assertion failed: ParentWidget != nullptr [File:/Engine/Source/Editor/UMGEditor/Private/Designer/SDesignerView.cpp] [Line: 2912]

After restarting the editor, NamedSlot's child widget will not be able to darg and drop, and no crash.

 

Steps to Reproduce
  1. Create a new widget blueprint and add a NamedSlot.
  2. Create a new widget as a parent widget and add the widget created in step 1 as a child widget.
  3. Add a Image widget into NamedSlot, then drag and drop image widget with Designer.

Result:

Crash editor.

Expected:

No crash editor, and Image widget (NamedSlot's child widget) can't be dragged and dropped.

 

Callstack
> UE4Editor-UMGEditor.dll!SDesignerView::ProcessDropAndAddWidget(const FGeometry & MyGeometry, const FDragDropEvent & DragDropEvent, const bool bIsPreview) Line 2912 C++
UE4Editor-UMGEditor.dll!SDesignerView::OnDragOver(const FGeometry & MyGeometry, const FDragDropEvent & DragDropEvent) Line 2625 C++
UE4Editor-Slate.dll!FSlateApplication::RoutePointerMoveEvent::__l46::<lambda>(const FArrangedWidget & CurWidget, const FPointerEvent & Event) Line 4941 C++
UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,FReply <lambda>(const FArrangedWidget &, const FPointerEvent &) >(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerMoveEvent::__l46::FReply <lambda>(const FArrangedWidget &, const FPointerEvent &) & Lambda) Line 372 C++
UE4Editor-Slate.dll!FSlateApplication::RoutePointerMoveEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent, bool bIsSynthetic) Line 4987 C++
UE4Editor-Slate.dll!FSlateApplication::ProcessMouseMoveEvent(const FPointerEvent & MouseEvent, bool bIsSynthetic) Line 5370 C++
UE4Editor-Slate.dll!FSlateApplication::OnMouseMove() Line 5298 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 1996 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,0> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2410 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1638 C++
UE4Editor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 789 C++
[External Code]
[Inline Frame] UE4Editor-ApplicationCore.dll!WinPumpMessages() Line 108 C++
UE4Editor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 130 C++
UE4Editor.exe!FEngineLoop::Tick() Line 4397 C++
[Inline Frame] UE4Editor.exe!EngineTick() Line 62 C++
UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 173 C++
UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 252 C++
[External Code]

Have Comments or More Details?

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

1
Login to Vote

Fixed
ComponentUE - Editor - UI Systems
Affects Versions4.24
Target Fix4.265.0-early access
Fix Commit14207291
CreatedApr 20, 2020
ResolvedAug 28, 2020
UpdatedApr 28, 2021