wayland: Don't use CLUTTER_LEAVE source actor for repick
This is the actor receiving the event, therefore precisely not the actor the pointer is on. We should avoid this event's source here, use the related actor (i.e. the one being entered) instead. Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1584 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1654>
This commit is contained in:
parent
794962327e
commit
0021fe173b
@ -586,7 +586,9 @@ repick_for_event (MetaWaylandPointer *pointer,
|
||||
ClutterActor *actor;
|
||||
MetaWaylandSurface *surface;
|
||||
|
||||
if (for_event)
|
||||
if (for_event && clutter_event_type (for_event) == CLUTTER_LEAVE)
|
||||
actor = clutter_event_get_related (for_event);
|
||||
else if (for_event)
|
||||
actor = clutter_event_get_source (for_event);
|
||||
else
|
||||
actor = clutter_stage_get_device_actor (stage, pointer->device, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user