소스 검색

Docking: Fixed a CTRL+TAB crash when aiming at an empty docked window. (#4792)

ocornut 3 년 전
부모
커밋
f1a073186c
2개의 변경된 파일3개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      docs/CHANGELOG.txt
  2. 2 0
      imgui.cpp

+ 1 - 0
docs/CHANGELOG.txt

@@ -232,6 +232,7 @@ Docking+Viewports Branch:
   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)

+ 2 - 0
imgui.cpp

@@ -4892,6 +4892,8 @@ static void ImGui::RenderDimmedBackgroundBehindWindow(ImGuiWindow* window, ImU32
     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();