Trying to set the value of an element of a fixed-size TAssetPtr array in the Editor results in the Editor crashing. This did not occur in 4.13.
The attached callstack is from debugging the project in Visual Studio.
UPROPERTY(EditAnywhere) TAssetPtr<AMyActor> ModifierIcons[12];
RESULT:
The Editor will crash.
EXPECTED:
The element in the array is set.
> UE4Editor-Core.dll!FMallocTBB::Free(void * Ptr) Line 109 C++ UE4Editor-Core.dll!FMemory::Free(void * Original) Line 49 C++ [External Code] UE4Editor-CoreUObject.dll!TProperty<FAssetPtr,UObjectPropertyBase>::DestroyValueInternal(void * Dest) Line 1014 C++ UE4Editor-PropertyEditor.dll!FPropertyNode::PropagatePropertyChange(UObject * ModifiedObject, const wchar_t * NewValue, const FString & PreviousValue) Line 2903 C++ UE4Editor-PropertyEditor.dll!FPropertyValueImpl::ImportText(const TArray<FObjectBaseAddress,FDefaultAllocator> & InObjects, const TArray<FString,FDefaultAllocator> & InValues, FPropertyNode * InPropertyNode, unsigned int Flags) Line 505 C++ UE4Editor-PropertyEditor.dll!FPropertyValueImpl::ImportText(const FString & InValue, FPropertyNode * InPropertyNode, unsigned int Flags) Line 331 C++ UE4Editor-PropertyEditor.dll!FPropertyValueImpl::SendTextToObjectProperty(const FString & Text, unsigned int Flags) Line 287 C++ UE4Editor-PropertyEditor.dll!FPropertyHandleObject::SetValue(const FAssetData & NewValue, unsigned int Flags) Line 2882 C++ UE4Editor-PropertyEditor.dll!SPropertyEditorAsset::SetValue(const FAssetData & AssetData) Line 581 C++ UE4Editor-PropertyEditor.dll!SPropertyEditorAsset::OnActorSelected(AActor * InActor) Line 720 C++ UE4Editor-PropertyEditor.dll!TBaseSPMethodDelegateInstance<0,SPropertyEditorAsset,0,TTypeWrapper<void> __cdecl(AActor * __ptr64)>::Execute(AActor * <Params_0>) Line 318 C++ UE4Editor-PropertyEditor.dll!TBaseSPMethodDelegateInstance<0,SPropertyEditorAsset,0,void __cdecl(AActor * __ptr64)>::ExecuteIfSafe(AActor * <Params_0>) Line 425 C++ UE4Editor-PropertyEditor.dll!SPropertyMenuActorPicker::OnActorSelected(AActor * InActor) Line 183 C++ UE4Editor-PropertyEditor.dll!TBaseSPMethodDelegateInstance<0,SPropertyMenuActorPicker,0,TTypeWrapper<void> __cdecl(AActor * __ptr64)>::Execute(AActor * <Params_0>) Line 318 C++ UE4Editor-PropertyEditor.dll!TBaseSPMethodDelegateInstance<0,SPropertyMenuActorPicker,0,void __cdecl(AActor * __ptr64)>::ExecuteIfSafe(AActor * <Params_0>) Line 425 C++ UE4Editor-SceneOutliner.dll!SceneOutliner::OnSceneOutlinerItemClicked(TSharedRef<SceneOutliner::ITreeItem,0> Item, TBaseDelegate<void,AActor *> OnActorPicked) Line 17 C++ UE4Editor-SceneOutliner.dll!TTupleImpl<TIntegerSequence<unsigned int,0>,TBaseDelegate<void,AActor * __ptr64> >::ApplyAfter<void (__cdecl*const & __ptr64)(TSharedRef<SceneOutliner::ITreeItem,0>,TBaseDelegate<void,AActor * __ptr64>),TSharedRef<SceneOutliner::ITreeItem,0> & __ptr64>(void(*)(TSharedRef<SceneOutliner::ITreeItem,0>, TBaseDelegate<void,AActor *>) & Func, TSharedRef<SceneOutliner::ITreeItem,0> & <Args_0>) Line 89 C++ UE4Editor-SceneOutliner.dll!TBaseStaticDelegateInstance<void __cdecl(TSharedRef<SceneOutliner::ITreeItem,0>),TBaseDelegate<void,AActor * __ptr64> >::ExecuteIfSafe(TSharedRef<SceneOutliner::ITreeItem,0> <Params_0>) Line 1016 C++ UE4Editor-SceneOutliner.dll!TBaseDelegate<void,TSharedRef<SceneOutliner::ITreeItem,0> >::ExecuteIfBound(TSharedRef<SceneOutliner::ITreeItem,0> <Params_0>) Line 609 C++ UE4Editor-SceneOutliner.dll!SceneOutliner::SSceneOutliner::OnOutlinerTreeSelectionChanged(TSharedPtr<SceneOutliner::ITreeItem,0> TreeItem, ESelectInfo::Type SelectInfo) Line 1776 C++ UE4Editor-SceneOutliner.dll!TBaseSPMethodDelegateInstance<0,SceneOutliner::SSceneOutliner,0,TTypeWrapper<void> __cdecl(TSharedPtr<SceneOutliner::ITreeItem,0>,enum ESelectInfo::Type)>::Execute(TSharedPtr<SceneOutliner::ITreeItem,0> <Params_0>, ESelectInfo::Type <Params_1>) Line 318 C++ UE4Editor-SceneOutliner.dll!TBaseSPMethodDelegateInstance<0,SceneOutliner::SSceneOutliner,0,void __cdecl(TSharedPtr<SceneOutliner::ITreeItem,0>,enum ESelectInfo::Type)>::ExecuteIfSafe(TSharedPtr<SceneOutliner::ITreeItem,0> <Params_0>, ESelectInfo::Type <Params_1>) Line 425 C++ UE4Editor-SceneOutliner.dll!TBaseDelegate<void,TSharedPtr<SceneOutliner::ITreeItem,0>,enum ESelectInfo::Type>::ExecuteIfBound(TSharedPtr<SceneOutliner::ITreeItem,0> <Params_0>, ESelectInfo::Type <Params_1>) Line 609 C++ UE4Editor-SceneOutliner.dll!SListView<TSharedPtr<SceneOutliner::ITreeItem,0> >::Private_SignalSelectionChanged(ESelectInfo::Type SelectInfo) Line 638 C++ UE4Editor-SceneOutliner.dll!STableRow<TSharedPtr<SceneOutliner::ITreeItem,0> >::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 449 C++ UE4Editor-SceneOutliner.dll!SceneOutliner::SSceneOutlinerTreeRow::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 211 C++ UE4Editor-Slate.dll!FSlateApplication::RoutePointerUpEvent::__l8::<lambda>(const FArrangedWidget & TargetWidget, const FPointerEvent & Event) Line 5010 C++ UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,FReply <lambda>(const FArrangedWidget &, const FPointerEvent &) >(FSlateApplication * ThisApplication, FEventRouter::FToLeafmostPolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerUpEvent::__l8::FReply <lambda>(const FArrangedWidget &, const FPointerEvent &) & Lambda) Line 215 C++ UE4Editor-Slate.dll!FSlateApplication::RoutePointerUpEvent(FWidgetPath & WidgetsUnderPointer, FPointerEvent & PointerEvent) Line 4999 C++ UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent & MouseEvent) Line 5462 C++ UE4Editor-Slate.dll!FSlateApplication::OnMouseUp(const EMouseButtons::Type Button, const FVector2D CursorPos) Line 5439 C++ UE4Editor-Core.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 1652 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 2071 C++ UE4Editor-Core.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 814 C++ UE4Editor-Core.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 678 C++ [External Code] UE4Editor-Core.dll!FWindowsPlatformMisc::PumpMessages(bool bFromMainLoop) Line 951 C++ UE4Editor.exe!FEngineLoop::Tick() Line 2811 C++ UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 152 C++ UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 191 C++ [External Code]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-39594 in the post.
0 |
Component | UE - Foundation - Core |
---|---|
Affects Versions | 4.14.1 |
Target Fix | 4.15 |
Created | Dec 9, 2016 |
---|---|
Resolved | Dec 12, 2016 |
Updated | Apr 27, 2018 |