From 6dd1a1f26d8ca59090962270e71844087d2c8c91 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 11 Feb 2019 10:59:48 +0100 Subject: [PATCH] WindowServer: Switch current menu if hovering over another menu with button. --- WindowServer/WSWindowManager.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/WindowServer/WSWindowManager.cpp b/WindowServer/WSWindowManager.cpp index d60e556891..1ea94c30d8 100644 --- a/WindowServer/WSWindowManager.cpp +++ b/WindowServer/WSWindowManager.cpp @@ -379,8 +379,10 @@ void WSWindowManager::notify_rect_changed(WSWindow& window, const Rect& old_rect void WSWindowManager::handle_menu_mouse_event(WSMenu& menu, WSMouseEvent& event) { - if (event.type() == WSMouseEvent::MouseDown && event.button() == MouseButton::Left) { - dbgprintf("[WM] MouseDown on menu '%s'\n", menu.name().characters()); + bool should_open_menu = (event.type() == WSMouseEvent::MouseMove && event.buttons() & (unsigned)MouseButton::Left) + || (event.type() == WSMouseEvent::MouseDown && event.button() == MouseButton::Left); + + if (should_open_menu) { if (m_current_menu == &menu) return; close_current_menu();