summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2014-05-22 13:27:43 +0200
committerCarlos Garnacho <carlosg@gnome.org>2014-05-22 14:59:00 +0200
commite3e18d920266bc1cd05e5b94f90e1d4a57f4659e (patch)
tree8fc819cbed484af00824855fb7613d230fd098b1
parentcbc3a41dc255081422f68928724534f7cf8ad717 (diff)
downloadclutter-e3e18d920266bc1cd05e5b94f90e1d4a57f4659e.tar.gz
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
-rw-r--r--clutter/clutter-stage.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/clutter/clutter-stage.c b/clutter/clutter-stage.c
index 356fa1ec0..f019af220 100644
--- a/clutter/clutter-stage.c
+++ b/clutter/clutter-stage.c
@@ -1068,8 +1068,8 @@ _clutter_stage_process_queued_events (ClutterStage *stage)
goto next_event;
}
else if (event->type == CLUTTER_TOUCH_UPDATE &&
- (next_event->type == CLUTTER_TOUCH_UPDATE ||
- next_event->type == CLUTTER_LEAVE) &&
+ next_event->type == CLUTTER_TOUCH_UPDATE &&
+ event->touch.sequence == next_event->touch.sequence &&
(!check_device || (device == next_device)))
{
CLUTTER_NOTE (EVENT,