aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/GraphicObjects/DockWindow.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/GraphicObjects/DockWindow.cs')
-rw-r--r--src/GraphicObjects/DockWindow.cs9
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;