Docking: Fixed a CTRL+TAB crash when aiming at an empty docked window. (#4792)
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index 1ddb6cd..d20f802 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -232,6 +232,7 @@
io.AddMouseViewportEvent() function, then Dear ImGui will revert to its flawed heuristic to find the viewport under.
By lowering those specs, we allow the SDL and more backend to support this, only relying on the heuristic in a few
drag and drop situations rather that relying on it everywhere.
+- Docking: Fixed a CTRL+TAB crash when aiming at an empty docked window. (#4792)
- Viewports: Fixed a CTRL+TAB crash with viewports enabled when the window list needs to appears in
its own viewport (regression from 1.86). (#4023, #787)
- Viewports: Fixed active InputText() from preventing viewports to merge. (#4212)
diff --git a/imgui.cpp b/imgui.cpp
index 141306b..8385703 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -4892,6 +4892,8 @@
if (window->RootWindow->DockIsActive)
{
ImDrawList* draw_list = FindFrontMostVisibleChildWindow(window->RootWindowDockTree)->DrawList;
+ if (draw_list->CmdBuffer.Size == 0)
+ draw_list->AddDrawCmd();
draw_list->PushClipRect(viewport_rect.Min, viewport_rect.Max, false);
RenderRectFilledWithHole(draw_list, window->RootWindowDockTree->Rect(), window->RootWindow->Rect(), col, 0.0f);// window->RootWindowDockTree->WindowRounding);
draw_list->PopClipRect();