clutter: Cancel ClutterGestureActions on leave+grab_notify events
The lack of handling of regular crossing events here is dubious, perhaps to be fixed later on. So far, ensure gestures are cancelled whenever a grab-inducted crossing event would leave this action in the blue. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2099>
This commit is contained in:
parent
c2d7e635b1
commit
f22ea7399c
@ -380,6 +380,15 @@ clutter_gesture_action_handle_event (ClutterAction *action,
|
||||
return CLUTTER_EVENT_PROPAGATE;
|
||||
}
|
||||
|
||||
if (priv->in_gesture && point &&
|
||||
event_type == CLUTTER_LEAVE &&
|
||||
(event->crossing.flags & CLUTTER_EVENT_FLAG_GRAB_NOTIFY) != 0)
|
||||
{
|
||||
priv->in_gesture = FALSE;
|
||||
cancel_gesture (gesture_action);
|
||||
return CLUTTER_EVENT_PROPAGATE;
|
||||
}
|
||||
|
||||
switch (clutter_event_type (event))
|
||||
{
|
||||
case CLUTTER_BUTTON_PRESS:
|
||||
|
Loading…
Reference in New Issue
Block a user