Skip to content

display: Emit a TOUCH_CANCEL event to the stage if touch is cancelled

When the compositor takes over touch sequences in situations like a grab op or after a gesture has been accepted, we already send a touch_cancel event to wayland clients to inform them about the changes.

Since ClutterActors listening for touch events might also have captured-event handlers connected to the the stage, make sure those also get notified about the compositor taking over.

I'm aware this is not the best solution, to properly cancel all handlers, not only the ones listening to stage events, we'd have to emit a TOUCH_CANCEL event using clutter_do_event. This event would also affect the gesture tracker though and cancel the gesture we just started. Since most handlers we want to cancel are listening to stage events anyway right now, this is the path of least resistance.

Depends on !424 (closed). With the old gesture tracking, the current gesture would also get cancelled.

Edited by Jonas Dreßler

Merge request reports