diff --git a/imgui.cpp b/imgui.cpp index 970fc9cc7f67..ca2b7f94d759 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -14183,6 +14183,12 @@ void ImGui::DockBuilderRemoveNode(ImGuiID node_id) return; DockBuilderRemoveNodeDockedWindows(node_id, true); DockBuilderRemoveNodeChildNodes(node_id); + + // Check is node_id still available (#3111) + node = DockContextFindNodeByID(ctx, node_id); + if (node == NULL) + return; + if (node->IsCentralNode() && node->ParentNode) node->ParentNode->LocalFlags |= ImGuiDockNodeFlags_CentralNode; DockContextRemoveNode(ctx, node, true);