1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 19:15:09 +00:00

WindowServer+LibGUI: Force full window repaints after theme change

We were not repainting windows that were occluded at the time of the
theme changing. This patch adds a way to bypass occlusion testing when
invalidating window rects.

Fixes #1249.
This commit is contained in:
Andreas Kling 2020-02-19 16:45:06 +01:00
parent 8a2dc5d188
commit eaa680ab8e
7 changed files with 20 additions and 12 deletions

View file

@ -317,11 +317,11 @@ void Window::set_default_icon()
m_icon = default_window_icon();
}
void Window::request_update(const Gfx::Rect& rect)
void Window::request_update(const Gfx::Rect& rect, bool ignore_occlusion)
{
if (m_pending_paint_rects.is_empty()) {
deferred_invoke([this](auto&) {
client()->post_paint_message(*this);
deferred_invoke([this, ignore_occlusion](auto&) {
client()->post_paint_message(*this, ignore_occlusion);
});
}
m_pending_paint_rects.add(rect);