diff --git a/Source/Editor/GUI/Docking/DockPanelProxy.cs b/Source/Editor/GUI/Docking/DockPanelProxy.cs
index dbb4e082e..62733ac1e 100644
--- a/Source/Editor/GUI/Docking/DockPanelProxy.cs
+++ b/Source/Editor/GUI/Docking/DockPanelProxy.cs
@@ -49,6 +49,11 @@ namespace FlaxEditor.GUI.Docking
/// The mouse position.
///
public Float2 MousePosition = Float2.Minimum;
+
+ ///
+ /// The mouse position.
+ ///
+ public Float2 MouseStartPosition = Float2.Minimum;
///
/// The start drag asynchronous window.
@@ -355,6 +360,7 @@ namespace FlaxEditor.GUI.Docking
if (IsSingleFloatingWindow)
return base.OnMouseDown(location, button);
MouseDownWindow = GetTabAtPos(location, out IsMouseDownOverCross);
+ MouseStartPosition = location;
// Check buttons
if (button == MouseButton.Left)
@@ -441,6 +447,20 @@ namespace FlaxEditor.GUI.Docking
StartDrag(MouseDownWindow);
MouseDownWindow = null;
}
+ // Check if single tab is tried to be moved
+ else if (MouseDownWindow != null && _panel.TabsCount <= 1)
+ {
+ if ((MousePosition - MouseStartPosition).Length > 3)
+ {
+ // Clear flag
+ IsMouseLeftButtonDown = false;
+
+ // Check tab under the mouse
+ if (!IsMouseDownOverCross && MouseDownWindow != null)
+ StartDrag(MouseDownWindow);
+ MouseDownWindow = null;
+ }
+ }
// Check if has more than one tab to change order
else if (MouseDownWindow != null && _panel.TabsCount > 1)
{