From 8ffa4131ce1864aeebb7eec4097ff708c347d8b1 Mon Sep 17 00:00:00 2001 From: Tom Date: Mon, 10 Aug 2020 12:58:44 -0600 Subject: [PATCH] WindowServer: Limit maximizing windows to top window in modal stack When maximizing a window that is blocked by a modal window, only maximize the top window in the stack. However, if the stack is minimized, restore all of them in addition. Fixes #3074 --- Services/WindowServer/WindowManager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Services/WindowServer/WindowManager.cpp b/Services/WindowServer/WindowManager.cpp index 7ecda2b073..57dda5f9e6 100644 --- a/Services/WindowServer/WindowManager.cpp +++ b/Services/WindowServer/WindowManager.cpp @@ -1426,8 +1426,9 @@ void WindowManager::minimize_windows(Window& window, bool minimized) void WindowManager::maximize_windows(Window& window, bool maximized) { - for_each_window_in_modal_stack(window, [&](auto& w, bool) { - w.set_maximized(maximized); + for_each_window_in_modal_stack(window, [&](auto& w, bool stack_top) { + if (stack_top) + w.set_maximized(maximized); if (w.is_minimized()) w.set_minimized(false); });