From d4fc525614eada62c61b6ba965b08021647d674b Mon Sep 17 00:00:00 2001 From: omar Date: Sun, 2 Feb 2020 21:24:53 +0100 Subject: [PATCH] Nav, Focus: Fixed messed up Ctrl+Tab order with Docked windows. Amend d9bca0d8531b8c6fca08cf883781fc0776418222, fc41839cabb173b07897726abb9187061e3a44fa, fc42528f134a3aec1f6c34daec6f26390e7b29b5 for docking. --- imgui.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/imgui.cpp b/imgui.cpp index f24d040d..519ec41e 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -6717,7 +6717,7 @@ void ImGui::FocusWindow(ImGuiWindow* window) // Move the root window to the top of the pile IM_ASSERT(window->RootWindow != NULL); - ImGuiWindow* focus_front_window = window->RootWindow; // NB: In docking branch this is window->RootWindowDockStop + ImGuiWindow* focus_front_window = window->RootWindowDockStop; ImGuiWindow* display_front_window = window->RootWindow; // Steal focus on active widgets @@ -6727,7 +6727,7 @@ void ImGui::FocusWindow(ImGuiWindow* window) // Bring to front BringWindowToFocusFront(focus_front_window); - if (((window->Flags | display_front_window->Flags) & ImGuiWindowFlags_NoBringToFrontOnFocus) == 0) + if (((window->Flags | focus_front_window->Flags | display_front_window->Flags) & ImGuiWindowFlags_NoBringToFrontOnFocus) == 0) BringWindowToDisplayFront(display_front_window); } @@ -9532,7 +9532,7 @@ static void ImGui::NavUpdateWindowing() if (start_windowing_with_gamepad || start_windowing_with_keyboard) if (ImGuiWindow* window = g.NavWindow ? g.NavWindow : FindWindowNavFocusable(g.WindowsFocusOrder.Size - 1, -INT_MAX, -1)) { - g.NavWindowingTarget = g.NavWindowingTargetAnim = window->RootWindow; // FIXME-DOCK: Will need to use RootWindowDockStop + g.NavWindowingTarget = g.NavWindowingTargetAnim = window->RootWindowDockStop; g.NavWindowingTimer = g.NavWindowingHighlightAlpha = 0.0f; g.NavWindowingToggleLayer = start_windowing_with_keyboard ? false : true; g.NavInputSource = start_windowing_with_keyboard ? ImGuiInputSource_NavKeyboard : ImGuiInputSource_NavGamepad;