clutter: Update picked actor on scroll events

On one hand this avoids crashes early after startup if the very first
pointer event is a scroll event, since the stage did not pick an actor
for the pointer device yet.

On the other hand, scroll events have some likelihood to change the
actor under the pointer even though it doesn't move. We still want to
cross towards the new actor under the pointer ASAP, without waiting
for later events.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3112
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3517>
This commit is contained in:
Carlos Garnacho 2024-01-11 11:53:50 +01:00 committed by Marge Bot
parent 54e4d1df79
commit 9108f2eeec

View File

@ -530,6 +530,7 @@ clutter_stage_handle_event (ClutterStage *stage,
case CLUTTER_TOUCHPAD_SWIPE: case CLUTTER_TOUCHPAD_SWIPE:
case CLUTTER_TOUCHPAD_HOLD: case CLUTTER_TOUCHPAD_HOLD:
case CLUTTER_PROXIMITY_IN: case CLUTTER_PROXIMITY_IN:
case CLUTTER_SCROLL:
update_device_for_event (stage, event, TRUE); update_device_for_event (stage, event, TRUE);
break; break;
default: default: