ProwlEngine / Prowl

An Open Source C# 3D Game Engine under MIT license, inspired by Unity and featuring a complete editor and built on Silk.NET
MIT License
360 stars 30 forks source link

[Editor] Drag And Drop Hierarchy Crash #60

Closed michaelsakharov closed 9 months ago

michaelsakharov commented 9 months ago

Describe the bug Can Crash from an infinite loop in Hierarchy using Drag and Drop

To Reproduce Steps to reproduce the behavior:

  1. Create objects A and B
  2. Place B under A
  3. Remove B from being under A
  4. Place A under B
  5. Crash
    Stack overflow.
    at System.Numerics.Matrix4x4+Impl.<Invert>g__SseImpl|64_0(Impl ByRef, Impl ByRef)
    at Prowl.Runtime.GameObject.Recalculate(Boolean)
    at Prowl.Runtime.GameObject.<SetParent>b__103_0(System.Object, System.EventArgs)
    at Prowl.Runtime.GameObject.Recalculate(Boolean)
    ...
    at Prowl.Runtime.GameObject.<SetParent>b__103_0(System.Object, System.EventArgs)
    at Prowl.Runtime.GameObject.Recalculate(Boolean)
    at Prowl.Runtime.GameObject.SetParent(Prowl.Runtime.GameObject)
    at Prowl.Editor.EditorWindows.HierarchyWindow.DrawEntityNode(Prowl.Runtime.GameObject, UInt32, Boolean)
    at Prowl.Editor.EditorWindows.HierarchyWindow.Draw()
    at Prowl.Editor.EditorWindows.EditorWindow.DrawWindow()
    at Prowl.Editor.EditorApplication.Loop()
    at Prowl.Runtime.Application.Run()
    at Prowl.Editor.Program.Main(System.String[])