diff --git a/src/Editor/Ghost.Editor/View/Controls/Docking/DockContainer.cs b/src/Editor/Ghost.Editor/View/Controls/Docking/DockContainer.cs index 150ef2a..2cb06d3 100644 --- a/src/Editor/Ghost.Editor/View/Controls/Docking/DockContainer.cs +++ b/src/Editor/Ghost.Editor/View/Controls/Docking/DockContainer.cs @@ -105,7 +105,7 @@ public abstract class DockContainer : DockModule throw new ArgumentException("newChild is already in this container", nameof(newChild)); } - newChild.Owner?.RemoveChild(newChild); + newChild.Owner?.RemoveChildInternal(newChild, false); // Remove oldChild without triggering cleanup _isCleaningUp = true; diff --git a/src/Editor/Ghost.Editor/View/Controls/Docking/DockingLayout.cs b/src/Editor/Ghost.Editor/View/Controls/Docking/DockingLayout.cs index bdfe58a..0502150 100644 --- a/src/Editor/Ghost.Editor/View/Controls/Docking/DockingLayout.cs +++ b/src/Editor/Ghost.Editor/View/Controls/Docking/DockingLayout.cs @@ -100,7 +100,7 @@ public class DockingLayout : Control } } - if (target == DockTarget.Center) + if (target == DockTarget.Center || targetGroup.Children.Count == 0) { targetGroup.AddChild(document); }