Description

When you use the search bar located under the New Key button in a Blackboard asset, if you attempt to press New Key while you have text in the search field, the editor will crash after you select the type of key you'd like to create.

Found in 4.9.2 binary. Reproduced in 4.8.3 binary and 4.10 binary. Also reproduced in Main CL 2758903

Source Context:

262       	FBlackboardEntry Entry;
  263       	Entry.EntryName = FName(*NewKeyName);
  264       	Entry.KeyType = NewObject<UBlackboardKeyType>(BlackboardData, InClass);
  265       
  266       	BlackboardData->Keys.Add(Entry);
  267       
  268       	GraphActionMenu->RefreshAllActions(true);
  269       	OnBlackboardKeyChanged.ExecuteIfBound(BlackboardData, &BlackboardData->Keys.Last());
  270       
  271       	GraphActionMenu->SelectItemByName(Entry.EntryName, ESelectInfo::OnMouseClick);
  272       
  273       	// Mark newly created entry as 'new'
  274       	TArray< TSharedPtr<FEdGraphSchemaAction> > SelectedActions;
  275       	GraphActionMenu->GetSelectedActions(SelectedActions);
  276 ***** 	check(SelectedActions.Num() == 1);
  277       	check(SelectedActions[0]->GetTypeId() == FEdGraphSchemaAction_BlackboardEntry::StaticGetTypeId());
  278       	TSharedPtr<FEdGraphSchemaAction_BlackboardEntry> BlackboardEntryAction = StaticCastSharedPtr<FEdGraphSchemaAction_BlackboardEntry>(SelectedActions[0]);
  279       	BlackboardEntryAction->bIsNew = true;
  280       
  281       	GraphActionMenu->OnRequestRenameOnActionNode();
  282       }
  283       
  284       bool SBehaviorTreeBlackboardEditor::CanCreateNewEntry() const
  285       {
  286       	if(OnIsDebuggerReady.IsBound())
  287       	{
  288       		return !OnIsDebuggerReady.Execute();
  289       	}
  290       
  291       	return true;
Steps to Reproduce

1. Open the editor
2. Create or open a blackboard asset
3. Type some text into the search field under the New Key button
4. Without deleting the text, press the New Key button
5. Select the type of key you'd like to create

Result: Editor crashes

Expected: New key would be created.

Callstack

Assertion failed: SelectedActions.Num() == 1 [Link Removed] [Line: 277]

UE4Editor_Core!FDebug::AssertFailed() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\private\misc\outputdevice.cpp:354]
UE4Editor_BehaviorTreeEditor!SBehaviorTreeBlackboardEditor::HandleKeyClassPicked() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\editor\behaviortreeeditor\private\sbehaviortreeblackboardeditor.cpp:277]
UE4Editor_BehaviorTreeEditor!TBaseRawMethodDelegateInstance<0,SBehaviorTreeBlackboardEditor const ,void __cdecl(UClass * __ptr64)>::ExecuteIfSafe() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:582]
UE4Editor_ClassViewer!SClassViewer::OnClassViewerSelectionChanged() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\editor\classviewer\private\sclassviewer.cpp:2203]
UE4Editor_ClassViewer!TBaseSPMethodDelegateInstance<0,SClassViewer,0,TTypeWrapper<void> __cdecl(TSharedPtr<FClassViewerNode,0>,enum ESelectInfo::Type)>::Execute() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282]
UE4Editor_ClassViewer!TBaseSPMethodDelegateInstance<0,SClassViewer,0,void __cdecl(TSharedPtr<FClassViewerNode,0>,enum ESelectInfo::Type)>::ExecuteIfSafe() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:388]
UE4Editor_ClassViewer!TBaseDelegate<void,TSharedPtr<FClassViewerNode,0>,enum ESelectInfo::Type>::ExecuteIfBound() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:482]
UE4Editor_ClassViewer!SListView<TSharedPtr<FClassViewerNode,0> >::Private_SignalSelectionChanged() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\public\widgets\views\slistview.h:609]
UE4Editor_ClassViewer!STableRow<TSharedPtr<FString,0> >::OnMouseButtonUp() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\public\widgets\views\stablerow.h:446]
UE4Editor_Slate!<lambda_df946b2745ea2bbab398d4acc9cc3d04>::operator()() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4273]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_df946b2745ea2bbab398d4acc9cc3d04> >() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:214]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4276]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4660]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4638]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\private\windows\windowsapplication.cpp:1403]
UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\private\windows\windowsapplication.cpp:1708]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\private\windows\windowsapplication.cpp:706]
UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\private\windows\windowsapplication.cpp:628]
user32
user32
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:884]
UE4Editor!FEngineLoop::Tick() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\launchengineloop.cpp:2392]
UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\buildfarm\buildmachine_++depot+ue4-releases+4.9\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]

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
ComponentUE - AI
Affects Versions4.8.34.9.24.10
Target Fix4.11
Fix Commit2783931
Main Commit2787214
CreatedNov 12, 2015
ResolvedNov 30, 2015
UpdatedApr 27, 2018