Docking: set node.LastBgColor (closing dock hosts drew white bodies), host skips own bg, fix SetNextWindowBgAlpha; Roblox backend: frames skipped by the render rate cap are drawn later (UI could freeze when the app stopped rendering); t_dock_close test

This commit is contained in:
4DBug
2026-10-14 06:26:28 -05:00
parent 2558c30d32
commit 7eb7d5fcbb
5 changed files with 105 additions and 5 deletions
+5 -1
View File
@@ -8626,9 +8626,13 @@ local function RenderWindowDecorations(window, title_bar_rect, title_bar_is_high
end
if override_alpha then
bg_col = bit32.band(bg_col, bit32.bnot(IM_COL32_A_MASK)) or bit32.lshift(IM_F32_TO_INT8_SAT(alpha), IM_COL32_A_SHIFT)
bg_col = bit32.bor(bit32.band(bg_col, bit32.bnot(IM_COL32_A_MASK)), bit32.lshift(IM_F32_TO_INT8_SAT(alpha), IM_COL32_A_SHIFT))
end
-- Render, for docked windows and host windows we ensure BG goes before decorations
if window.DockIsActive then window.DockNode.LastBgColor = bg_col end
if bit32.band(flags, ImGuiWindowFlags.DockNodeHost) ~= 0 then bg_col = 0 end
if bit32.band(bg_col, IM_COL32_A_MASK) ~= 0 then
local bg_rect = ImRect(window.Pos + ImVec2(0, window.TitleBarHeight), window.Pos + window.Size)
local bg_rounding_flags