2008-09-24 Emmanuele Bassi <ebassi@linux.intel.com>

Bug 1130 - CLUTTER_MOTION is not emitted when time goes backwards.

	* clutter/clutter-main.c (clutter_do_event): Check for time
	rollbacks inside the motion event throttling. (Pierce Liu)
This commit is contained in:
Emmanuele Bassi 2008-09-24 10:12:23 +00:00
parent d3d29b194e
commit a87f34c177
2 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2008-09-24 Emmanuele Bassi <ebassi@linux.intel.com>
Bug 1130 - CLUTTER_MOTION is not emitted when time goes backwards.
* clutter/clutter-main.c (clutter_do_event): Check for time
rollbacks inside the motion event throttling. (Pierce Liu)
2008-09-23 Emmanuele Bassi <ebassi@linux.intel.com> 2008-09-23 Emmanuele Bassi <ebassi@linux.intel.com>
* clutter/clutter-timeout-pool.c: Reword previous commit. * clutter/clutter-timeout-pool.c: Reword previous commit.

View File

@ -1903,7 +1903,16 @@ clutter_do_event (ClutterEvent *event)
delta, delta,
event->any.time); event->any.time);
if (event->any.time < (local_motion_time + delta)) /* we need to guard against roll-overs and the
* case where the time is rolled backwards and
* the backend is not ensuring a monotonic clock
* for the events.
*
* see:
* http://bugzilla.openedhand.com/show_bug.cgi?id=1130
*/
if (event->any.time >= local_motion_time &&
event->any.time < (local_motion_time + delta))
break; break;
else else
local_motion_time = event->any.time; local_motion_time = event->any.time;