Merge lp:~vanvugt/compiz-core/bettertimers into lp:compiz-core/0.9.5
Proposed by
Daniel van Vugt
Status: | Merged |
---|---|
Merged at revision: | 2894 |
Proposed branch: | lp:~vanvugt/compiz-core/bettertimers |
Merge into: | lp:compiz-core/0.9.5 |
Diff against target: |
321 lines (+108/-83) 4 files modified
src/privatetimeoutsource.h (+0/-4) src/privatetimer.h (+2/-2) src/timer.cpp (+35/-56) tests/timer/callbacks/test-timer-callbacks.cpp (+71/-21) |
To merge this branch: | bzr merge lp:~vanvugt/compiz-core/bettertimers |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sam Spilsbury | Approve | ||
Compiz Maintainers | Pending | ||
Review via email: mp+82812@code.launchpad.net |
Description of the change
Add support for CompTimers with a minTime of 0.
Previously, calling setTimes(0,0) would cause an infinite loop in
CompTimeoutSour
This new code avoids infinite loops, avoids non-zero timer starvation and
improves timer accuracy in general.
To post a comment you must log in.
Shouldn't you include the changes for this:
+ /* ce::callback when a zero ce::CompTimeout Source en::handlePaint Timeout, cScreen),
+ * Note the use of delay = 1 instead of 0, even though 0 would be better.
+ * A delay of zero is presently broken due to CompTimer bugs;
+ * 1. Infinite loop in CompTimeoutSour
+ * timer is set.
+ * 2. Priority set too high in CompTimeoutSour
+ * causing the glib main event loop to be starved of X events.
+ * Fixes for both of these issues are being worked on separately.
+ */
+ paintTimer.start
+ (boost::bind (&CompositeScre
+ delay);
And setting lp:~vanvugt/compiz-core/fix-880707.2 as a prerequisite of this branch?