Description

Using Straighten Connections shortcut can cause the editor to crash after removing node pins. This appears to be due to GetGraphPinForMenu returning the last pin selected (in this case, the removed one).

Workaround:
Opening the right click window clears out the "last pin selected" status.

Suggested Fix:
Licensee mentioned clearing SGraphEditorImpl::GraphPinForMenu after pin context menus are closed prevents crash from occurring.

Repro Rate:
7/10

Steps to Reproduce
  1. Open UE4 Editor (any project)
  2. Open Editor Preferences->General->KeyBoard Shortcuts
  3. Set Graph Editor->Straighten Connection(s) shortcut
  4. Add blueprint based on actor
  5. In Event Graph, add Make Array node
  6. Add additional element pins
  7. Right click on an element pin and select "Remove Array Element Pin"
  8. Rapidly Press "Straighten Connection(s)" shortcut key while quickly moving the mouse across the screen

Result:
Editor will crash when the shortcut key is used

Expected:
Connected/selected nodes have their wires straightened with no crash

Callstack
Assertion failed: OwningNode [File:D:\Build\++UE4+Release-4.14+Compile\Sync\Engine\Source\Runtime\Engine\Classes\EdGraph/EdGraphPin.h] [Line: 403] 



KERNELBASE.dll
UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:103]
UE4Editor-Core.dll!FOutputDevice::Logf__VA() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:68]
UE4Editor-Core.dll!FDebug::AssertFailed() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:332]
UE4Editor-GraphEditor.dll!SGraphPanel::StraightenConnections() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\grapheditor\private\sgraphpanel.cpp:1280]
UE4Editor-Kismet.dll!SGraphEditor::StraightenConnections() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\public\grapheditor.h:360]
UE4Editor-Kismet.dll!FBlueprintEditor::OnStraightenConnections() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\kismet\private\blueprinteditor.cpp:5259]
UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl(void)>::Execute() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:318]
UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:424]
UE4Editor-Slate.dll!FUICommandList::ConditionalProcessCommandBindings() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\commands\uicommandlist.cpp:211]
UE4Editor-Slate.dll!FUICommandList::ProcessCommandBindings() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\commands\uicommandlist.cpp:155]
UE4Editor-GraphEditor.dll!SGraphEditorImpl::OnKeyDown() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\grapheditor\private\sgrapheditorimpl.cpp:66]
UE4Editor-Slate.dll!<lambda_2afcd964c763e269e2d1a63f3a72f846>::operator()() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4626]
UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,<lambda_2afcd964c763e269e2d1a63f3a72f846> >() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:215]
UE4Editor-Slate.dll!FEventRouter::RouteAlongFocusPath<FEventRouter::FBubblePolicy,<lambda_2afcd964c763e269e2d1a63f3a72f846>,FKeyEvent>() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:197]
UE4Editor-Slate.dll!FSlateApplication::ProcessKeyDownEvent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4624]
UE4Editor-Slate.dll!FSlateApplication::OnKeyDown() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4539]
UE4Editor-Core.dll!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:1487]
UE4Editor-Core.dll!FWindowsApplication::DeferMessage() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:2071]
UE4Editor-Core.dll!FWindowsApplication::ProcessMessage() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:814]
UE4Editor-Core.dll!FWindowsApplication::AppWndProc() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:678]
USER32.dll
USER32.dll
UE4Editor-Core.dll!FWindowsPlatformMisc::PumpMessages() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:951]
UE4Editor.exe!FEngineLoop::Tick() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2811]
UE4Editor.exe!GuardedMain() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\launch.cpp:152]
UE4Editor.exe!GuardedMainWrapper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor.exe!WinMain() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
UE4Editor.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32.dll
ntdll.dll
ntdll.dll

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.14.34.15
Target Fix4.16
Fix Commit3308097
Main Commit3358685
CreatedFeb 8, 2017
ResolvedFeb 16, 2017
UpdatedJul 26, 2018
View Jira Issue