Docking: fixed settings load issue when mouse wheeling. (#4310)

This commit is contained in:
ocornut 2021-08-24 20:33:00 +02:00
parent 6bd447c885
commit 58f5092c53
2 changed files with 10 additions and 1 deletions

View File

@ -99,6 +99,11 @@ Other changes:
Note that Linux/Mac still have inconsistent support for multi-viewports. If you want to help see https://github.com/ocornut/imgui/issues/2117. Note that Linux/Mac still have inconsistent support for multi-viewports. If you want to help see https://github.com/ocornut/imgui/issues/2117.
Docking+Viewports Branch:
- Docking: fixed settings load issue when mouse wheeling. (#4310)
----------------------------------------------------------------------- -----------------------------------------------------------------------
VERSION 1.84.1 (Released 2021-08-20) VERSION 1.84.1 (Released 2021-08-20)
----------------------------------------------------------------------- -----------------------------------------------------------------------

View File

@ -13111,7 +13111,10 @@ void ImGui::DockContextProcessUndockNode(ImGuiContext* ctx, ImGuiDockNode* node)
DockNodeMoveWindows(new_node, node); DockNodeMoveWindows(new_node, node);
DockSettingsRenameNodeReferences(node->ID, new_node->ID); DockSettingsRenameNodeReferences(node->ID, new_node->ID);
for (int n = 0; n < new_node->Windows.Size; n++) for (int n = 0; n < new_node->Windows.Size; n++)
{
new_node->Windows[n]->Flags &= ~ImGuiWindowFlags_ChildWindow;
UpdateWindowParentAndRootLinks(new_node->Windows[n], new_node->Windows[n]->Flags, NULL); UpdateWindowParentAndRootLinks(new_node->Windows[n], new_node->Windows[n]->Flags, NULL);
}
node = new_node; node = new_node;
} }
else else
@ -13293,7 +13296,8 @@ static void ImGui::DockNodeRemoveWindow(ImGuiDockNode* node, ImGuiWindow* window
window->DockNode = NULL; window->DockNode = NULL;
window->DockIsActive = window->DockTabWantClose = false; window->DockIsActive = window->DockTabWantClose = false;
window->DockId = save_dock_id; window->DockId = save_dock_id;
UpdateWindowParentAndRootLinks(window, window->Flags & ~ImGuiWindowFlags_ChildWindow, NULL); // Update immediately window->Flags &= ~ImGuiWindowFlags_ChildWindow;
UpdateWindowParentAndRootLinks(window, window->Flags, NULL); // Update immediately
// Remove window // Remove window
bool erased = false; bool erased = false;