From c7ab6daf261f527b03a2904e5f41f5951f32381b Mon Sep 17 00:00:00 2001 From: MacDue Date: Tue, 3 Jan 2023 20:01:12 +0000 Subject: [PATCH] LibGUI: Stop duplicating mouse events of cursor tracking widget Previously we didn't always return when there was an automatic cursor tracking widget. This meant for certain events e.g. a MouseUp over the tracking widget, the event would be fired twice on the same widget (once on `m_automatic_cursor_tracking_widget` then again on `result.widget` outside the if). Fixes #16737 --- Userland/Libraries/LibGUI/Window.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Userland/Libraries/LibGUI/Window.cpp b/Userland/Libraries/LibGUI/Window.cpp index 44a43ecf44..3c6d7c369b 100644 --- a/Userland/Libraries/LibGUI/Window.cpp +++ b/Userland/Libraries/LibGUI/Window.cpp @@ -385,8 +385,8 @@ void Window::handle_mouse_event(MouseEvent& event) } else { auto is_hovered = m_automatic_cursor_tracking_widget.ptr() == result.widget.ptr(); set_hovered_widget(is_hovered ? m_automatic_cursor_tracking_widget.ptr() : nullptr); - return; } + return; } set_hovered_widget(result.widget); if (event.buttons() != 0 && !m_automatic_cursor_tracking_widget)