If using a UHierarchicalInstancedStaticMeshComponent in a C++ class and adding instances via the OnConstruction( ) function, editor can crash.
RESULT:
Editor will crash in FStaticMeshInstanceBuffer::Init( ).
EXPECTED:
Users can change number of UHierarchicalInstancedStaticMeshComponent without a crash.
UE4Editor-Engine.dll!FStaticMeshInstanceBuffer::Init(UInstancedStaticMeshComponent * InComponent, const TArray<TRefCountPtr<HHitProxy>,FDefaultAllocator> & InHitProxies) Line 97 C++ UE4Editor-Engine.dll!FPerInstanceRenderData::FPerInstanceRenderData(UInstancedStaticMeshComponent * InComponent, ERHIFeatureLevel::Type InFeaureLevel) Line 352 C++ UE4Editor-Engine.dll!FInstancedStaticMeshRenderData::FInstancedStaticMeshRenderData(UInstancedStaticMeshComponent * InComponent, ERHIFeatureLevel::Type InFeatureLevel) Line 398 C++ UE4Editor-Engine.dll!FInstancedStaticMeshSceneProxy::FInstancedStaticMeshSceneProxy(UInstancedStaticMeshComponent * InComponent, ERHIFeatureLevel::Type InFeatureLevel) Line 539 C++ UE4Editor-Engine.dll!FHierarchicalStaticMeshSceneProxy::FHierarchicalStaticMeshSceneProxy(bool bInIsGrass, UHierarchicalInstancedStaticMeshComponent * InComponent, ERHIFeatureLevel::Type InFeatureLevel) Line 745 C++ UE4Editor-Engine.dll!UHierarchicalInstancedStaticMeshComponent::CreateSceneProxy() Line 2482 C++ UE4Editor-Renderer.dll!FScene::AddPrimitive(UPrimitiveComponent * Primitive) Line 633 C++ UE4Editor-Engine.dll!UActorComponent::ExecuteRegisterEvents() Line 1152 C++ UE4Editor-Engine.dll!UActorComponent::RegisterComponentWithWorld(UWorld * InWorld) Line 878 C++ UE4Editor-Engine.dll!AActor::IncrementalRegisterComponents(int NumComponentsToRegister) Line 3966 C++ UE4Editor-Engine.dll!AActor::RegisterAllComponents() Line 3905 C++ UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::ReplaceInstancesOfClass_Inner(TMap<UClass *,UClass *,FDefaultSetAllocator,TDefaultMapKeyFuncs<UClass *,UClass *,0> > & InOldToNewClassMap, UObject * InOriginalCDO, TSet<UObject *,DefaultKeyFuncs<UObject *,0>,FDefaultSetAllocator> * ObjectsThatShouldUseOldStuff, bool bClassObjectReplaced, bool bPreserveRootComponent) Line 1512 C++ UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::ReplaceInstancesOfClass(UClass * OldClass, UClass * NewClass, UObject * OriginalCDO, TSet<UObject *,DefaultKeyFuncs<UObject *,0>,FDefaultSetAllocator> * ObjectsThatShouldUseOldStuff, bool bClassObjectReplaced, bool bPreserveRootComponent) Line 1314 C++ UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::ReinstanceInner(bool bForceAlwaysReinstance) Line 608 C++ UE4Editor-UnrealEd.dll!FBlueprintCompileReinstancer::ReinstanceObjects(bool bForceAlwaysReinstance) Line 770 C++ UE4Editor-UnrealEd.dll!FKismetEditorUtilities::CompileBlueprint(UBlueprint * BlueprintObj, bool bIsRegeneratingOnLoad, bool bSkipGarbageCollection, bool bSaveIntermediateProducts, FCompilerResultsLog * pResults, bool bSkeletonUpToDate, bool bBatchCompile, bool bAddInstrumentation) Line 795 C++ UE4Editor-Kismet.dll!FBlueprintEditor::Compile() Line 3216 C++ UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl(void)>::Execute() Line 317 C++ UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl(void)>::ExecuteIfSafe() Line 423 C++ UE4Editor-Slate.dll!FUICommandList::ExecuteAction(const TSharedRef<FUICommandInfo const ,0> InUICommandInfo) Line 92 C++ UE4Editor-Slate.dll!SToolBarButtonBlock::OnClicked() Line 300 C++ UE4Editor-Slate.dll!TMemberFunctionCaller<SToolBarButtonBlock,FReply (__cdecl SToolBarButtonBlock::*)(void) __ptr64>::operator()<>() Line 161 C++ UE4Editor-Slate.dll!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SToolBarButtonBlock,FReply (__cdecl SToolBarButtonBlock::*)(void) __ptr64> >(TMemberFunctionCaller<SToolBarButtonBlock,FReply (__cdecl SToolBarButtonBlock::*)(void)> && Func) Line 115 C++ UE4Editor-Slate.dll!TBaseSPMethodDelegateInstance<0,SToolBarButtonBlock,0,FReply __cdecl(void)>::Execute() Line 317 C++ UE4Editor-Slate.dll!TBaseDelegate<FReply>::Execute() Line 521 C++ UE4Editor-Slate.dll!SButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 278 C++ UE4Editor-Slate.dll!FSlateApplication::RoutePointerUpEvent::__l8::<lambda>(const FArrangedWidget & TargetWidget, const FPointerEvent & Event) Line 4901 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 4890 C++ UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent & MouseEvent) Line 5348 C++ UE4Editor-Slate.dll!FSlateApplication::OnMouseUp(const EMouseButtons::Type Button, const FVector2D CursorPos) Line 5328 C++ UE4Editor-Core.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 1584 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 1930 C++ UE4Editor-Core.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 747 C++ UE4Editor-Core.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 669 C++ [External Code] UE4Editor-Core.dll!FWindowsPlatformMisc::PumpMessages(bool bFromMainLoop) Line 905 C++ UE4Editor.exe!FEngineLoop::Tick() Line 2788 C++ UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 156 C++ UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 191 C++ [External Code]
Why does the REMOVE method of map container remove elements have memory leaks?
How does TextureRenderTarget2D get TArray<uint8> type data?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
How to delete some elements correctly when deleting an array loop?
What controls of umg have mouse wheel events in UE4.27?
How to assign a value to a member of UMG's UMaterialInterface pointer type in C++?
How to convert the datasmith scene file to BluePrint. Create animations in BluePrint.
Head over to the existing Questions & Answers thread and let us know what's up.
1 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.13.1 |
Target Fix | 4.15 |
Created | Oct 14, 2016 |
---|---|
Resolved | Nov 30, 2016 |
Updated | Apr 27, 2018 |