mirror of
https://github.com/ocornut/imgui.git
synced 2025-12-26 08:09:09 +00:00
Viewports, Docking: Fixed a bug where closing a viewport using OS facilities would erroneously close all windows located in the viewport. (#8887)
This commit is contained in:
@@ -70,6 +70,12 @@ Changes:
|
||||
- Backends: Allegro5: Fixed missing support for ImGuiKey_PrintScreen
|
||||
under Windows, as raw Allegro 5 does not receive it.
|
||||
|
||||
Docking+Viewports Branch:
|
||||
|
||||
- Fixed a bug where closing a viewport using OS facility (e.g. ALT+F4, Close Button)
|
||||
would erroneously close all windows located in the viewport, even ones docked
|
||||
into nested dockspaces. Only top-most windows should be closed. (#8887) [@lailoken]
|
||||
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
VERSION 1.92.2 (Released 2025-08-11)
|
||||
|
||||
12
imgui.cpp
12
imgui.cpp
@@ -8373,12 +8373,14 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
|
||||
NavInitWindow(window, false); // <-- this is in the way for us to be able to defer and sort reappearing FocusWindow() calls
|
||||
|
||||
// Close requested by platform window (apply to all windows in this viewport)
|
||||
// FIXME: Investigate removing the 'window->Viewport != GetMainViewport()' test, which seems superfluous.
|
||||
if (p_open != NULL && window->Viewport->PlatformRequestClose && window->Viewport != GetMainViewport())
|
||||
{
|
||||
IMGUI_DEBUG_LOG_VIEWPORT("[viewport] Window '%s' closed by PlatformRequestClose\n", window->Name);
|
||||
*p_open = false;
|
||||
g.NavWindowingToggleLayer = false; // Assume user mapped PlatformRequestClose on ALT-F4 so we disable ALT for menu toggle. False positive not an issue. // FIXME-NAV: Try removing.
|
||||
}
|
||||
if (window->DockNode == NULL || (window->DockNode->MergedFlags & ImGuiDockNodeFlags_DockSpace) == 0)
|
||||
{
|
||||
IMGUI_DEBUG_LOG_VIEWPORT("[viewport] Window '%s' closed by PlatformRequestClose\n", window->Name);
|
||||
*p_open = false;
|
||||
g.NavWindowingToggleLayer = false; // Assume user mapped PlatformRequestClose on ALT-F4 so we disable ALT for menu toggle. False positive not an issue. // FIXME-NAV: Try removing.
|
||||
}
|
||||
|
||||
// Pressing CTRL+C copy window content into the clipboard
|
||||
// [EXPERIMENTAL] Breaks on nested Begin/End pairs. We need to work that out and add better logging scope.
|
||||
|
||||
Reference in New Issue
Block a user