mirror of
https://github.com/ocornut/imgui.git
synced 2026-02-04 04:00:07 +00:00
Viewports: Fixed setting focus from platform decoration from accidentally closing modals (#6299, #6357)
+ Fixed double-assignment static analyzer warning. # Conflicts: # imgui.cpp
This commit is contained in:
parent
bba39762dc
commit
d2291df551
3 changed files with 8 additions and 5 deletions
|
|
@ -13957,12 +13957,13 @@ static void ImGui::UpdateViewportsNewFrame()
|
|||
// FIXME: perhaps 'FocusTopMostWindowUnderOne()' can handle the 'focused_window->Window != NULL' case as well.
|
||||
if (!IsAnyMouseDown())
|
||||
{
|
||||
ImGuiFocusRequestFlags focus_request_flags = ImGuiFocusRequestFlags_UnlessBelowModal | ImGuiFocusRequestFlags_RestoreFocusedChild;
|
||||
if (focused_viewport->Window != NULL)
|
||||
FocusWindow(NavRestoreLastChildNavWindow(focused_viewport->Window));
|
||||
FocusWindow(focused_viewport->Window, focus_request_flags);
|
||||
else if (focused_viewport->LastFocusedHadNavWindow)
|
||||
FocusTopMostWindowUnderOne(NULL, NULL, focused_viewport, ImGuiFocusRequestFlags_None);
|
||||
FocusTopMostWindowUnderOne(NULL, NULL, focused_viewport, focus_request_flags); // Focus top most in viewport
|
||||
else
|
||||
FocusWindow(NULL);
|
||||
FocusWindow(NULL, focus_request_flags); // No window had focus last time viewport was focused
|
||||
}
|
||||
}
|
||||
if (focused_viewport)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue