|
|
@ -15379,8 +15379,17 @@ static void ImGui::DockNodeUpdate(ImGuiDockNode* node) |
|
|
|
if (node->IsSplitNode()) |
|
|
|
if (node->IsSplitNode()) |
|
|
|
IM_ASSERT(node->TabBar == NULL); |
|
|
|
IM_ASSERT(node->TabBar == NULL); |
|
|
|
if (node->IsRootNode()) |
|
|
|
if (node->IsRootNode()) |
|
|
|
if (g.NavWindow && g.NavWindow->RootWindow->DockNode && g.NavWindow->RootWindow->ParentWindow == host_window) |
|
|
|
if (ImGuiWindow* p_window = g.NavWindow ? g.NavWindow->RootWindow : NULL) |
|
|
|
node->LastFocusedNodeId = g.NavWindow->RootWindow->DockNode->ID; |
|
|
|
while (p_window != NULL && p_window->DockNode != NULL) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
ImGuiDockNode* p_node = DockNodeGetRootNode(p_window->DockNode); |
|
|
|
|
|
|
|
if (p_node == node) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
node->LastFocusedNodeId = p_window->DockNode->ID; // Note: not using root node ID!
|
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
p_window = p_node->HostWindow ? p_node->HostWindow->RootWindow : NULL; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Register a hit-test hole in the window unless we are currently dragging a window that is compatible with our dockspace
|
|
|
|
// Register a hit-test hole in the window unless we are currently dragging a window that is compatible with our dockspace
|
|
|
|
ImGuiDockNode* central_node = node->CentralNode; |
|
|
|
ImGuiDockNode* central_node = node->CentralNode; |
|
|
|