Docking: Fixed a bug undocking windows docked into a non-visible or _KeepAliveOnly dockspace. (#4757)

docking
ocornut 3 years ago
parent ea83d040e6
commit 719d931304

@ -145,6 +145,8 @@ Other Changes:
Docking+Viewports Branch: Docking+Viewports Branch:
- Docking: Revert removal of io.ConfigDockingWithShift config option (removed in 1.83). (#4643) - Docking: Revert removal of io.ConfigDockingWithShift config option (removed in 1.83). (#4643)
- Docking: Fixed a bug undocking windows docked into a non-visible or _KeepAliveOnly dockspace
when unrelated windows submitted before the dockspace have dynamic visibility. (#4757)
- Viewports: Made it possible to explicitly assign ImGuiWindowClass::ParentViewportId to 0 in order - Viewports: Made it possible to explicitly assign ImGuiWindowClass::ParentViewportId to 0 in order
to ensure a window is not parented. Previously this would use the global default (which might be 0, to ensure a window is not parented. Previously this would use the global default (which might be 0,
but not always as it would depend on io.ConfigViewportsNoDefaultParent). (#3152, #2871) but not always as it would depend on io.ConfigViewportsNoDefaultParent). (#3152, #2871)

@ -16157,7 +16157,7 @@ void ImGui::BeginDocked(ImGuiWindow* window, bool* p_open)
node->State = ImGuiDockNodeState_HostWindowVisible; node->State = ImGuiDockNodeState_HostWindowVisible;
// Undock if we are submitted earlier than the host window // Undock if we are submitted earlier than the host window
if (window->BeginOrderWithinContext < node->HostWindow->BeginOrderWithinContext) if (!(node->MergedFlags & ImGuiDockNodeFlags_KeepAliveOnly) && window->BeginOrderWithinContext < node->HostWindow->BeginOrderWithinContext)
{ {
DockContextProcessUndockWindow(ctx, window); DockContextProcessUndockWindow(ctx, window);
return; return;

Loading…
Cancel
Save