diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index ba956a1de..786b6c9b5 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -50,6 +50,8 @@ Other changes: through proper navigation logic: honor scrolling and selection. (#1079, #1131) - Sliders: Fixed an integer overflow and div-by-zero in SliderInt() when v_max=INT_MAX (#6675, #6679) [@jbarthelmes] +- ImDrawData: Fixed an issue where TotalVtxCount/TotalIdxCount does not match the sum + of individual ImDrawList's buffer sizes when a dimming/modal background is rendered. (#6716) - ImDrawList: Fixed OOB access in _CalcCircleAutoSegmentCount when passing excessively large radius to AddCircle(). (#6657, #5317) [@EggsyCRO, @jdpatdiscord] - Debug Tools: Metrics: Fixed "Drawlists" section and per-viewport equivalent diff --git a/imgui.cpp b/imgui.cpp index af1493968..2739c847d 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -5083,6 +5083,10 @@ void ImGui::Render() CallContextHooks(&g, ImGuiContextHookType_RenderPre); + // Draw modal/window whitening backgrounds + if (first_render_of_frame) + RenderDimmedBackgrounds(); + // Add background ImDrawList (for each active viewport) for (int n = 0; n != g.Viewports.Size; n++) { @@ -5092,10 +5096,6 @@ void ImGui::Render() AddDrawListToDrawDataEx(&viewport->DrawDataP, viewport->DrawDataBuilder.Layers[0], GetBackgroundDrawList(viewport)); } - // Draw modal/window whitening backgrounds - if (first_render_of_frame) - RenderDimmedBackgrounds(); - // Add ImDrawList to render ImGuiWindow* windows_to_render_top_most[2]; windows_to_render_top_most[0] = (g.NavWindowingTarget && !(g.NavWindowingTarget->Flags & ImGuiWindowFlags_NoBringToFrontOnFocus)) ? g.NavWindowingTarget->RootWindow : NULL;