mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
Popups: fixed CloseInactivePopups() so that right-clicking to close one level of popups in a popups stack won't close the whole stack. This is done by properly refocusing the lower level popup. Fixes 87ae40843c
(~#439)
This commit is contained in:
parent
43df7eb5ea
commit
59a89774d7
@ -2802,11 +2802,9 @@ void ImGui::EndFrame()
|
||||
// With right mouse button we close popups without changing focus
|
||||
// (The left mouse button path calls FocusWindow which will lead NewFrame->CloseInactivePopups to trigger)
|
||||
if (g.IO.MouseClicked[1])
|
||||
{
|
||||
CloseInactivePopups(g.HoveredWindow);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sort the window list so that all child windows are after their parent
|
||||
// We cannot do that on FocusWindow() because childs may not exist yet
|
||||
@ -3605,8 +3603,8 @@ static void CloseInactivePopups(ImGuiWindow* ref_window)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (n < g.OpenPopupStack.Size) // This test is not required but it allows to set a useful breakpoint on the line below
|
||||
g.OpenPopupStack.resize(n);
|
||||
if (n < g.OpenPopupStack.Size) // This test is not required but it allows to set a convenient breakpoint on the block below
|
||||
ClosePopupToLevel(n);
|
||||
}
|
||||
|
||||
static ImGuiWindow* GetFrontMostModalRootWindow()
|
||||
|
Loading…
Reference in New Issue
Block a user