Reset the touch point count in case the driver did not emit appropriate
number of touch up events.
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
+static void
+weston_touch_reset_state(struct weston_touch *touch)
+{
+ touch->num_tp = 0;
+}
+
WL_EXPORT struct weston_touch *
weston_touch_create(void)
{
WL_EXPORT struct weston_touch *
weston_touch_create(void)
{
if (seat->touch_device_count == 0) {
weston_touch_set_focus(seat, NULL);
weston_touch_cancel_grab(seat->touch);
if (seat->touch_device_count == 0) {
weston_touch_set_focus(seat, NULL);
weston_touch_cancel_grab(seat->touch);
+ weston_touch_reset_state(seat->touch);
seat_send_updated_caps(seat);
}
}
seat_send_updated_caps(seat);
}
}