On Tue, Apr 03, 2012 at 09:04:51AM -0500, George McCollister wrote: > gnome-screen saver fades out to black before activating. > A bug in xorg-server prevents the fade out from being > interrupted by moving the cursor. > > Added patch 204_fix-neg-sync-transition.patch from: > xorg-server_1.9.0-0ubuntu7.6.diff.gz > > https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/595555 > https://bugzilla.redhat.com/show_bug.cgi?id=612620 > > There are been quite a lot of other fixes in the xorg-server 1.9 > branch. It would probably be a good idea update. > http://cgit.freedesktop.org/xorg/xserver/log/?h=server-1.9-branch
I suppose we should update to 1.9.5 instead. Unfortunately I' rather busy and Xorg is not a high priority for me. But patches are welcome :-). Michael > > Signed-off-by: George McCollister <[email protected]> > --- > .../204_fix-neg-sync-transition.patch | 84 > ++++++++++++++++++++ > patches/xorg-server-1.9.3/series | 1 + > 2 files changed, 85 insertions(+), 0 deletions(-) > create mode 100644 > patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch > > diff --git a/patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch > b/patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch > new file mode 100644 > index 0000000..f10fb32 > --- /dev/null > +++ b/patches/xorg-server-1.9.3/204_fix-neg-sync-transition.patch > @@ -0,0 +1,84 @@ > +commit da218289275e67e49d801d58dd818d237de8a9bc > +Author: Christopher James Halse Rogers > <[email protected]> > +Date: Tue Aug 24 13:30:25 2010 +1000 > + > + Xext: Fix edge case with {Positive,Negative}Transition triggers. > + > + The {Positive,Negative}Transition triggers only fire when the counter > + goes from strictly {below,above} the threshold. If > + SyncComputeBracketValues gets called exactly at this threshold we may > update > + the bracket values so that the counter is not updated past the threshold. > + > + Signed-off-by: Christopher James Halse Rogers > <[email protected]> > + > +diff --git a/Xext/sync.c b/Xext/sync.c > +index a51262a..c00e692 100644 > +--- a/Xext/sync.c > ++++ b/Xext/sync.c > +@@ -959,6 +959,17 @@ SyncComputeBracketValues(SyncCounter *pCounter) > + { > + psci->bracket_less = pTrigger->test_value; > + pnewltval = &psci->bracket_less; > ++ } else if (XSyncValueEqual(pCounter->value, pTrigger->test_value) && > ++ XSyncValueLessThan(pTrigger->test_value, > ++ psci->bracket_greater)) > ++ { > ++ /* > ++ * The value is exactly equal to our threshold. We want one > ++ * more event in the positive direction to ensure we pick up > ++ * when the value *exceeds* this threshold. > ++ */ > ++ psci->bracket_greater = pTrigger->test_value; > ++ pnewgtval = &psci->bracket_greater; > + } > + } > + else if (pTrigger->test_type == XSyncPositiveTransition && > +@@ -969,6 +980,17 @@ SyncComputeBracketValues(SyncCounter *pCounter) > + { > + psci->bracket_greater = pTrigger->test_value; > + pnewgtval = &psci->bracket_greater; > ++ } else if (XSyncValueEqual(pCounter->value, pTrigger->test_value) && > ++ XSyncValueGreaterThan(pTrigger->test_value, > ++ psci->bracket_less)) > ++ { > ++ /* > ++ * The value is exactly equal to our threshold. We want one > ++ * more event in the negative direction to ensure we pick up > ++ * when the value is less than this threshold. > ++ */ > ++ psci->bracket_less = pTrigger->test_value; > ++ pnewltval = &psci->bracket_less; > + } > + } > + } /* end for each trigger */ > +commit d9e9c0c3cf0456f78b6eed3290e6a418e38963fb > +Author: Christopher James Halse Rogers > <[email protected]> > +Date: Tue Aug 24 13:35:05 2010 +1000 > + > + IDLETIME: Fix edge-case in IdleTimeBlockHandler > + > + Ensure that if we're called exactly on the threshold of a > + NegativeTransition trigger that we reshedule to pick up > + an idle time over the threshold. > + > + Signed-off-by: Christopher James Halse Rogers > <[email protected]> > + > +diff --git a/Xext/sync.c b/Xext/sync.c > +index c00e692..314b63e 100644 > +--- a/Xext/sync.c > ++++ b/Xext/sync.c > +@@ -2322,6 +2322,14 @@ IdleTimeBlockHandler(pointer env, struct timeval > **wt, pointer LastSelectMask) > + break; > + } > + } > ++ /* > ++ * We've been called exactly on the idle time, but we have a > ++ * NegativeTransition trigger which requires a transition from an > ++ * idle time greater than this. Schedule a wakeup for the next > ++ * millisecond so we won't miss a transition. > ++ */ > ++ if (XSyncValueEqual (idle, *pIdleTimeValueLess)) > ++ AdjustWaitForDelay(wt, 1); > + } > + else if (pIdleTimeValueGreater) > + { > diff --git a/patches/xorg-server-1.9.3/series > b/patches/xorg-server-1.9.3/series > index aa40d1d..2050ec2 100644 > --- a/patches/xorg-server-1.9.3/series > +++ b/patches/xorg-server-1.9.3/series > @@ -3,3 +3,4 @@ loader-when-creating-sdksyms.c-only-include-shmint.h.patch > remove_udev_if_disabled.diff > remove_dbus_if_disabled.diff > remove_hal_if_disabled.diff > +204_fix-neg-sync-transition.patch > -- > 1.7.8.4 > > > -- > ptxdist mailing list > [email protected] > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- ptxdist mailing list [email protected]
