mirror of
https://github.com/brl/mutter.git
synced 2024-12-24 12:02:04 +00:00
wayland: Repick (again) on pointer motion
Unfortunately there's situations where we can't fully rely on only
crossing events here. One such situation is pointer visibility changes
due to touch interaction, or e.g. after closing the lid.
In these situations the pointer position stays the same, picks the
same actor, yet we want to see the right surface as the pointer focus
again in the wayland side.
This used to happen on the first motion event after the pointer
visibility change before commit ad3f2b0b86
, use motion events again
for picking so we don't break these usecases.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1657>
This commit is contained in:
parent
d39d4d124e
commit
65e7b9ae3a
@ -611,7 +611,8 @@ void
|
|||||||
meta_wayland_pointer_update (MetaWaylandPointer *pointer,
|
meta_wayland_pointer_update (MetaWaylandPointer *pointer,
|
||||||
const ClutterEvent *event)
|
const ClutterEvent *event)
|
||||||
{
|
{
|
||||||
if ((event->type == CLUTTER_ENTER ||
|
if ((event->type == CLUTTER_MOTION ||
|
||||||
|
event->type == CLUTTER_ENTER ||
|
||||||
event->type == CLUTTER_LEAVE) &&
|
event->type == CLUTTER_LEAVE) &&
|
||||||
!clutter_event_get_event_sequence (event))
|
!clutter_event_get_event_sequence (event))
|
||||||
repick_for_event (pointer, event);
|
repick_for_event (pointer, event);
|
||||||
|
Loading…
Reference in New Issue
Block a user