|
|
@ -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;
|
|
|
|