stage: Only compress consecutive touch events from the same sequence

And get CLUTTER_EVENT_LEAVE out of the touch event compression logic, as
touches are always implicitly grabbed. If no sequence check is done, only
the last touch update would be emitted, even if multiple sequences got
updated.

https://bugzilla.gnome.org/show_bug.cgi?id=730577
This commit is contained in:
Carlos Garnacho 2014-05-22 13:27:43 +02:00
parent fd8705b9c6
commit ed538a6d2c

View File

@ -1068,8 +1068,8 @@ _clutter_stage_process_queued_events (ClutterStage *stage)
goto next_event; goto next_event;
} }
else if (event->type == CLUTTER_TOUCH_UPDATE && else if (event->type == CLUTTER_TOUCH_UPDATE &&
(next_event->type == CLUTTER_TOUCH_UPDATE || next_event->type == CLUTTER_TOUCH_UPDATE &&
next_event->type == CLUTTER_LEAVE) && event->touch.sequence == next_event->touch.sequence &&
(!check_device || (device == next_device))) (!check_device || (device == next_device)))
{ {
CLUTTER_NOTE (EVENT, CLUTTER_NOTE (EVENT,