GNOME Bugzilla – Bug 732907
Allow for calling clutter_gesture_action_cancel() within the ::gesture-end handler
Last modified: 2014-07-08 17:54:43 UTC
TBH this is quite mutter specific, but there are situations there where gesture cancellation is wanted at once on ::gesture-end (mainly because the action triggered by gestures there may trigger a grab, so the gesture action will be missing CLUTTER_TOUCH_END events then). Calling clutter_gesture_action_cancel() in that situation yields the expected result, but produces 2 critical warnings in the captured-event action handler, I'm attaching a patch to fix those.
Created attachment 280171 [details] [review] gesture-action: Prepare for clutter_gesture_action_cancel() within ::gesture-end There may be odd situations where full gesture cancellation may be wanted at once when the first touch is lifted and ::gesture-end is emitted on a gesture action. Although calling clutter_gesture_action_cancel() within the ::gesture-end handler causes 2 critical warnings that are otherwise harmless.
Review of attachment 280171 [details] [review]: looks okay, though I have to admit I never thought canceling a gesture inside the ::gesture-end handler. seems like closing the stable doors well after the horses have left.
(In reply to comment #2) > Review of attachment 280171 [details] [review]: > > looks okay, though I have to admit I never thought canceling a gesture inside > the ::gesture-end handler. seems like closing the stable doors well after the > horses have left. Yeah it's indeed odd :), mainly to circumvent strange X11 semantics wrt ongoing touch events and active pointer grabs, where the former are (not quite usefully...) muted, should be highly unlikely/unneeded in regular clients.
Attachment 280171 [details] pushed as 8d669ab - gesture-action: Prepare for clutter_gesture_action_cancel() within ::gesture-end