From 7dc874104b144104bd48a6b0c70c3c3d79cbb15f Mon Sep 17 00:00:00 2001 From: John Bundgaard <2511912+jbdk@users.noreply.github.com> Date: Thu, 5 Jan 2023 05:43:09 +0100 Subject: [PATCH] WindowServer: Redraw Taskbar on window highlight during switching --- Userland/Services/WindowServer/WindowManager.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp index e5b69f5865..7751655290 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -1791,6 +1791,18 @@ void WindowManager::set_highlight_window(Window* new_highlight_window) new_highlight_window->invalidate(true, true); Compositor::the().invalidate_screen(new_highlight_window->frame().render_rect()); } + + if (active_fullscreen_window()) { + // Find the Taskbar window and invalidate it so it draws correctly + for_each_visible_window_from_back_to_front([](Window& window) { + if (window.type() == WindowType::Taskbar) { + window.invalidate(); + return IterationDecision::Break; + } + return IterationDecision::Continue; + }); + } + // Invalidate occlusions in case the state change changes geometry Compositor::the().invalidate_occlusions(); }