Internal: Avoid needlessly bringing parent of front-most child back to front. This is mostly to reduce flicker/confusion in Metrics when traversing windows. We could aim at separating the child windows from non-child windows at some point.

This commit is contained in:
omar 2018-01-31 22:14:33 +01:00
parent dbdbf01b9f
commit 9bc5c089b6

View File

@ -5161,7 +5161,8 @@ void ImGui::Scrollbar(ImGuiLayoutType direction)
void ImGui::BringWindowToFront(ImGuiWindow* window) void ImGui::BringWindowToFront(ImGuiWindow* window)
{ {
ImGuiContext& g = *GImGui; ImGuiContext& g = *GImGui;
if (g.Windows.back() == window) ImGuiWindow* current_front_window = g.Windows.back();
if (current_front_window == window || current_front_window->RootWindow == window)
return; return;
for (int i = g.Windows.Size - 2; i >= 0; i--) // We can ignore the front most window for (int i = g.Windows.Size - 2; i >= 0; i--) // We can ignore the front most window
if (g.Windows[i] == window) if (g.Windows[i] == window)