WindowServer: Fix minor flicker with transparent windows

Do not fill the backing store mismatch area with the solid window
color if the window is transparent. This caused some minor flicker
when such a window is e.g. snapped to the left/right or maximized.
This commit is contained in:
Tom 2020-08-26 13:31:34 -06:00 committed by Andreas Kling
parent 9f7ec33180
commit 6ea7e67b62
Notes: sideshowbarker 2024-07-19 03:06:39 +09:00

View File

@ -354,8 +354,10 @@ void Compositor::compose()
painter.blit(dst, *backing_store, dirty_rect_in_backing_coordinates, window.opacity());
}
for (auto background_rect : window.rect().shatter(backing_rect))
painter.fill_rect(background_rect, wm.palette().window());
if (window.is_opaque()) {
for (auto background_rect : window.rect().shatter(backing_rect))
painter.fill_rect(background_rect, wm.palette().window());
}
};
auto& dirty_rects = window.dirty_rects();