[mutter/wip/carlosg/crossings: 3/11] wayland: Don't use CLUTTER_LEAVE source actor for repick
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/carlosg/crossings: 3/11] wayland: Don't use CLUTTER_LEAVE source actor for repick
- Date: Wed, 23 Dec 2020 12:13:00 +0000 (UTC)
commit 0021fe173b3544e0103537a5d7efead2e4203716
Author: Carlos Garnacho <carlosg gnome org>
Date: Tue Dec 22 17:24:31 2020 +0100
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>
src/wayland/meta-wayland-pointer.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
---
diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c
index 0b563efcce..ef0923577b 100644
--- a/src/wayland/meta-wayland-pointer.c
+++ b/src/wayland/meta-wayland-pointer.c
@@ -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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]