mirror of
https://github.com/brl/mutter.git
synced 2024-12-26 21:02:14 +00:00
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;
|
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))
|
switch (clutter_event_type (event))
|
||||||
{
|
{
|
||||||
case CLUTTER_BUTTON_PRESS:
|
case CLUTTER_BUTTON_PRESS:
|
||||||
|
Loading…
Reference in New Issue
Block a user