From aa68c12cfcdc524f5a6947e0ba2c903949addc27 Mon Sep 17 00:00:00 2001 From: Sreelakshmi Date: Sat, 12 Jun 2021 10:58:38 +0530 Subject: [PATCH] WindowManager: Close tooltip child_windows of previously active window This closes the autocomplete_box used in applications like GML Playground and HackStudio when the user switches focus to a new window. --- 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 ba0fe5fdf1..8c69c0d4d3 100644 --- a/Userland/Services/WindowServer/WindowManager.cpp +++ b/Userland/Services/WindowServer/WindowManager.cpp @@ -1397,6 +1397,10 @@ void WindowManager::set_active_window(Window* window, bool make_input) auto* previously_active_window = m_active_window.ptr(); if (previously_active_window) { + for (auto& child_window : previously_active_window->child_windows()) { + if (child_window && child_window->type() == WindowType::Tooltip) + child_window->request_close(); + } Core::EventLoop::current().post_event(*previously_active_window, make(Event::WindowDeactivated)); previously_active_window->invalidate(true, true); m_active_window = nullptr;