From 28d5a6d0de1af884683297071522833ae3e75f37 Mon Sep 17 00:00:00 2001 From: Ari Vuollet Date: Wed, 26 Aug 2026 00:33:49 +0300 Subject: [PATCH] Fix `DockWindow.IsDocked` to ignore single tab floating window as docked --- Source/Editor/GUI/Docking/DockWindow.cs | 2 +- Source/Editor/Windows/GameWindow.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Editor/GUI/Docking/DockWindow.cs b/Source/Editor/GUI/Docking/DockWindow.cs index d6b86c833..a6c98a1f6 100644 --- a/Source/Editor/GUI/Docking/DockWindow.cs +++ b/Source/Editor/GUI/Docking/DockWindow.cs @@ -50,7 +50,7 @@ namespace FlaxEditor.GUI.Docking /// /// Gets a value indicating whether this window is docked. /// - public bool IsDocked => _dockedTo != null; + public bool IsDocked => _dockedTo != null && _dockedTo.TabsCount > 1; /// /// Gets a value indicating whether this window is selected. diff --git a/Source/Editor/Windows/GameWindow.cs b/Source/Editor/Windows/GameWindow.cs index e0c56b18b..d351147cb 100644 --- a/Source/Editor/Windows/GameWindow.cs +++ b/Source/Editor/Windows/GameWindow.cs @@ -913,7 +913,7 @@ namespace FlaxEditor.Windows /// public void FocusGameViewport() { - if (!IsDocked) + if (ParentDockPanel == null) { ShowFloating(); } @@ -1018,7 +1018,7 @@ namespace FlaxEditor.Windows Screen.CursorVisible = true; Screen.CursorLock = CursorLockMode.None; - if (Editor.IsPlayMode && IsDocked && IsSelected && RootWindow.FocusedControl == null) + if (Editor.IsPlayMode && ParentDockPanel != null && IsSelected && RootWindow.FocusedControl == null) { // Game UI cleared focus so regain it to maintain UI navigation just like game window does FlaxEngine.Scripting.InvokeOnUpdate(Focus);