d6a0f7eb61
803b3bafb617c2df703aa8b834ff0df2f0c5c26c introduced a new issue for multi touch events. In the case where 2 touch events for 2 different touch points are processed in the same iteration, a call to _clutter_stage_remove_device() when processing the first event will remove the stage setting of the InputDevice. That means Clutter will skip the second event, because it can't find a stage to which relate the event, so no related actor and so no emission. To fix this we move the _clutter_stage_(add/remove)_device() calls into the input device. This way the input device can find out exactly when to call these functions (i.e. when no touch point were previously active or when no touch point remain active). https://bugzilla.gnome.org/show_bug.cgi?id=682362