diff options
Diffstat (limited to 'src/GraphicObjects/DockWindow.cs')
| -rw-r--r-- | src/GraphicObjects/DockWindow.cs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/GraphicObjects/DockWindow.cs b/src/GraphicObjects/DockWindow.cs index 3617f5b9..c7934114 100644 --- a/src/GraphicObjects/DockWindow.cs +++ b/src/GraphicObjects/DockWindow.cs @@ -37,7 +37,7 @@ namespace Crow int undockThreshold = 4; bool isDocked = false; - Alignment docking = Alignment.Center; + Alignment docking = Alignment.Undefined; Point lastMousePos; //last known mouse pos in this control Point undockingMousePosOrig; //mouse pos when docking was donne, use for undocking on mouse move @@ -148,7 +148,7 @@ namespace Crow } protected override void onDrop (object sender, DragDropEventArgs e) { - if (!isDocked && DockingPosition != Alignment.Center) + if (!isDocked && DockingPosition != Alignment.Undefined) dock (e.DropTarget as DockStack); base.onDrop (sender, e); } @@ -165,10 +165,13 @@ namespace Crow this.Height = savedSlot.Height; IsDocked = false; + DockingPosition = Alignment.Undefined; Resizable = wasResizable; } } - void dock (DockStack target){ + void dock (DockStack target){ + if (RootDock.CenterDockedObj is DockWindow && DockingPosition == Alignment.Center) + return; lock (IFace.UpdateMutex) { IsDocked = true; undockingMousePosOrig = lastMousePos; |