Переглянути джерело

Docking, Viewport: Fixed a rare edge-case if the window targetted by CTRL+Tab stops being rendered.

ocornut 5 роки тому
батько
коміт
831e2c920e
1 змінених файлів з 2 додано та 1 видалено
  1. 2 1
      imgui.cpp

+ 2 - 1
imgui.cpp

@@ -4386,9 +4386,10 @@ static void ImGui::EndFrameDrawDimmedBackgrounds()
         }
 
     // Draw modal whitening background between CTRL-TAB list
-    if (dim_bg_for_window_list)
+    if (dim_bg_for_window_list && g.NavWindowingTargetAnim->Active)
     {
         // Choose a draw list that will be front-most across all our children
+        // In the unlikely case that the window wasn't made active we can't rely on its drawlist and skip rendering all-together.
         ImGuiWindow* window = g.NavWindowingTargetAnim;
         ImDrawList* draw_list = FindFrontMostVisibleChildWindow(window->RootWindow)->DrawList;
         draw_list->PushClipRectFullScreen();