mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 03:27:45 +00:00
WindowServer: Send events once when global cursor tracking is enabled
Previously we'd send mouse events twice if the target window had global cursor tracking enabled.
This commit is contained in:
parent
20b2c46019
commit
f1ac0b6a5a
1 changed files with 3 additions and 1 deletions
|
@ -1007,8 +1007,10 @@ void WindowManager::process_mouse_event(MouseEvent& event)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// 2. Send the mouse event to all windows with global cursor tracking enabled.
|
// 2. Send the mouse event to all windows with global cursor tracking enabled.
|
||||||
|
// The active input tracking window is excluded here because we're sending the event to it
|
||||||
|
// in the next step.
|
||||||
m_window_stack.for_each_visible_window_from_front_to_back([&](Window& window) {
|
m_window_stack.for_each_visible_window_from_front_to_back([&](Window& window) {
|
||||||
if (window.global_cursor_tracking())
|
if (window.global_cursor_tracking() && &window != m_active_input_tracking_window)
|
||||||
deliver_mouse_event(window, event, false);
|
deliver_mouse_event(window, event, false);
|
||||||
return IterationDecision::Continue;
|
return IterationDecision::Continue;
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue