From af706d081c7096f14660eae2871f76f79c02ac8a Mon Sep 17 00:00:00 2001 From: thankyouverycool <66646555+thankyouverycool@users.noreply.github.com> Date: Tue, 23 Aug 2022 07:59:51 -0400 Subject: [PATCH] WindowServer: Invalidate new and previous active input window frames Fixes shared active title bar theming not updating for capturing modals. --- Userland/Services/WindowServer/WindowManager.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Userland/Services/WindowServer/WindowManager.cpp b/Userland/Services/WindowServer/WindowManager.cpp index 90f014c22b..dedd038dc7 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -1809,11 +1809,15 @@ Window* WindowManager::set_active_input_window(Window* window) void WindowManager::notify_new_active_input_window(Window& new_input_window) { Core::EventLoop::current().post_event(new_input_window, make(Event::WindowInputEntered)); + if (new_input_window.is_capturing_input() && !new_input_window.is_frameless()) + new_input_window.invalidate(true, true); } void WindowManager::notify_previous_active_input_window(Window& previous_input_window) { Core::EventLoop::current().post_event(previous_input_window, make(Event::WindowInputLeft)); + if (previous_input_window.is_capturing_input() && !previous_input_window.is_frameless()) + previous_input_window.invalidate(true, true); } void WindowManager::set_active_window(Window* new_active_window, bool make_input)