Developer Notes

After the fix you can no longer rename the category on an implemented interface function inherited from a native parent class.

Description

Renaming a function category from a Interface class which a class inherits from causes crash.

Steps to Reproduce
  1. Download attached project
  2. Right click on uproject file and generate Visual Studio files
  3. Open project.sln
  4. Run in Development Editor
  5. Open "PlayerControllerBase_BP" in Content Browser
  6. Right-click "Fancy Function" and choose "Implement Function"
  7. Under "Functions", rename "Fancy" to anything else.
  8. Press enter

RESULT:

Unhandled exception thrown: read access violation for FBlueprintEditorUtils::GetEntryNode( ), returning a nullptr.

EXPECTED:
Users can rename function categories for interfaces, in Blueprint derived classes.

Callstack
UE4Editor-Kismet.dll!SMyBlueprint::OnCategoryNameCommitted(const FText & InNewText, ETextCommit::Type InTextCommit, TWeakPtr<FGraphActionNode,0> InAction) Line 492	C++
 	UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,SMyBlueprint,0,TTypeWrapper<void> __cdecl(FText const & __ptr64,enum ETextCommit::Type,TWeakPtr<FGraphActionNode,0>)>::Execute(const FText & <Params_0>, ETextCommit::Type <Params_1>, TWeakPtr<FGraphActionNode,0> <Params_2>) Line 321	C++
 	UE4Editor-GraphEditor.dll!SGraphActionMenu::OnNameTextCommitted(const FText & NewText, ETextCommit::Type InTextCommit, TWeakPtr<FGraphActionNode,0> InAction) Line 935	C++
 	UE4Editor-GraphEditor.dll!TBaseSPMethodDelegateInstance<0,SGraphActionMenu,0,TTypeWrapper<void> __cdecl(FText const & __ptr64,enum ETextCommit::Type),TWeakPtr<FGraphActionNode,0> >::Execute(const FText & <Params_0>, ETextCommit::Type <Params_1>) Line 321	C++
 	UE4Editor-GraphEditor.dll!TBaseSPMethodDelegateInstance<0,SGraphActionMenu,0,void __cdecl(FText const & __ptr64,enum ETextCommit::Type),TWeakPtr<FGraphActionNode,0> >::ExecuteIfSafe(const FText & <Params_0>, ETextCommit::Type <Params_1>) Line 428	C++
 	UE4Editor-Slate.dll!TBaseDelegate<void,FText const & __ptr64,enum ETextCommit::Type>::ExecuteIfBound(const FText & <Params_0>, ETextCommit::Type <Params_1>) Line 608	C++
 	UE4Editor-Slate.dll!SInlineEditableTextBlock::OnTextBoxCommitted(const FText & InText, ETextCommit::Type InCommitType) Line 294	C++
 	UE4Editor-Slate.dll!TBaseSPMethodDelegateInstance<0,SInlineEditableTextBlock,0,TTypeWrapper<void> __cdecl(FText const & __ptr64,enum ETextCommit::Type)>::Execute(const FText & <Params_0>, ETextCommit::Type <Params_1>) Line 321	C++
 	UE4Editor-Slate.dll!TBaseSPMethodDelegateInstance<0,SInlineEditableTextBlock,0,void __cdecl(FText const & __ptr64,enum ETextCommit::Type)>::ExecuteIfSafe(const FText & <Params_0>, ETextCommit::Type <Params_1>) Line 428	C++
 	UE4Editor-Slate.dll!TBaseDelegate<void,FText const & __ptr64,enum ETextCommit::Type>::ExecuteIfBound(const FText & <Params_0>, ETextCommit::Type <Params_1>) Line 608	C++
 	UE4Editor-Slate.dll!FSlateEditableTextLayout::HandleCarriageReturn() Line 1265	C++
 	UE4Editor-Slate.dll!FSlateEditableTextLayout::HandleKeyDown(const FKeyEvent & InKeyEvent) Line 773	C++
 	UE4Editor-Slate.dll!SEditableText::OnKeyDown(const FGeometry & MyGeometry, const FKeyEvent & InKeyEvent) Line 181	C++
 	UE4Editor-Slate.dll!FSlateApplication::ProcessKeyDownEvent::__l28::<lambda>(const FArrangedWidget & SomeWidgetGettingEvent, const FKeyEvent & Event) Line 4232	C++
 	UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,FReply <lambda>(const FArrangedWidget &, const FKeyEvent &) >(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FKeyEvent EventCopy, const FSlateApplication::ProcessKeyDownEvent::__l28::FReply <lambda>(const FArrangedWidget &, const FKeyEvent &) & Lambda) Line 215	C++
 	UE4Editor-Slate.dll!FEventRouter::RouteAlongFocusPath<FEventRouter::FBubblePolicy,FReply <lambda>(const FArrangedWidget &, const FKeyEvent &),FKeyEvent>(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FKeyEvent KeyEventCopy, const FSlateApplication::ProcessKeyDownEvent::__l28::FReply <lambda>(const FArrangedWidget &, const FKeyEvent &) & Lambda) Line 197	C++
 	UE4Editor-Slate.dll!FSlateApplication::ProcessKeyDownEvent(FKeyEvent & InKeyEvent) Line 4230	C++
 	UE4Editor-Slate.dll!FSlateApplication::OnKeyDown(const int KeyCode, const unsigned int CharacterCode, const bool IsRepeat) Line 4147	C++
 	UE4Editor-Core.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 1345	C++
 	UE4Editor-Core.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 1850	C++
 	UE4Editor-Core.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 745	C++
 	UE4Editor-Core.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 667	C++
 	[External Code]	
 	UE4Editor-Core.dll!FWindowsPlatformMisc::PumpMessages(bool bFromMainLoop) Line 903	C++
 	UE4Editor.exe!FEngineLoop::Tick() Line 2729	C++
 	UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 148	C++
 	UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 189	C++
 	[External Code]

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.12.5
Target Fix4.16
Fix Commit3253223
Main Commit3255791
CreatedAug 22, 2016
ResolvedJan 11, 2017
UpdatedMay 4, 2023