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;
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.
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]
Head over to the existing Questions & Answers thread and let us know what's up.