debian/changelog | 9 ++ debian/patches/182_negative_sync_transitions.patch | 69 +++++++++++++++++++++ debian/patches/series | 1 3 files changed, 79 insertions(+)
New commits: commit 30d1ef930935da74f20d7461b13d277ff8a1b06f Author: Bryce Harrington <br...@bryceharrington.org> Date: Fri Aug 14 11:25:54 2009 -0700 Patch to fix the random blanking issue diff --git a/debian/changelog b/debian/changelog index 596dd63..25f578b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +xorg-server (2:1.6.3-1ubuntu2) karmic; urgency=low + + * Add 182_negative_sync_transitions.patch: Upstream cherrypick. + Fix random blanking display when system is not idle, caused by + mishandling of negative transition triggers in XSync. + (LP: #397839) + + -- Bryce Harrington <br...@ubuntu.com> Fri, 14 Aug 2009 11:21:09 -0700 + xorg-server (2:1.6.3-1ubuntu1) karmic; urgency=low * Merge from Debian unstable. diff --git a/debian/patches/182_negative_sync_transitions.patch b/debian/patches/182_negative_sync_transitions.patch new file mode 100644 index 0000000..273f298 --- /dev/null +++ b/debian/patches/182_negative_sync_transitions.patch @@ -0,0 +1,69 @@ +From db568f9eabf3450d8a023597ff007df355b13ea8 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutte...@who-t.net> +Date: Thu, 13 Aug 2009 06:37:00 +0000 +Subject: Xext: fix up wrong conditions for negative sync transitions. + +If the counter had a value higher than the trigger value for a negative +transition, the trigger value did not get set. + +The correct sequence of checks is: +if (positive transition) + if (counter value < trigger value) + set up trigger +if (negative transition) + if (counter value > trigger value) + set up trigger + +Red Hat Bug 501601 <https://bugzilla.redhat.com/show_bug.cgi?id=501601> + +Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> +--- +diff --git a/Xext/sync.c b/Xext/sync.c +index 5f4ce56..667f8ab 100644 +--- a/Xext/sync.c ++++ b/Xext/sync.c +@@ -962,28 +962,24 @@ SyncComputeBracketValues(SyncCounter *pCounter, Bool startOver) + pnewltval = &psci->bracket_less; + } + } +- else if ( (pTrigger->test_type == XSyncPositiveTransition && ++ else if (pTrigger->test_type == XSyncNegativeTransition && + ct != XSyncCounterNeverIncreases) +- || +- (pTrigger->test_type == XSyncNegativeTransition && ++ { ++ if (XSyncValueGreaterThan(pCounter->value, pTrigger->test_value) && ++ XSyncValueGreaterThan(pTrigger->test_value, psci->bracket_less)) ++ { ++ psci->bracket_less = pTrigger->test_value; ++ pnewltval = &psci->bracket_less; ++ } ++ } ++ else if (pTrigger->test_type == XSyncPositiveTransition && + ct != XSyncCounterNeverDecreases) +- ) + { +- if (XSyncValueLessThan(pCounter->value, pTrigger->test_value)) ++ if (XSyncValueLessThan(pCounter->value, pTrigger->test_value) && ++ XSyncValueLessThan(pTrigger->test_value, psci->bracket_greater)) + { +- if (XSyncValueLessThan(pTrigger->test_value, +- psci->bracket_greater)) +- { +- psci->bracket_greater = pTrigger->test_value; +- pnewgtval = &psci->bracket_greater; +- } +- else +- if (XSyncValueGreaterThan(pTrigger->test_value, +- psci->bracket_less)) +- { +- psci->bracket_less = pTrigger->test_value; +- pnewltval = &psci->bracket_less; +- } ++ psci->bracket_greater = pTrigger->test_value; ++ pnewgtval = &psci->bracket_greater; + } + } + } /* end for each trigger */ +-- +cgit v0.8.2 diff --git a/debian/patches/series b/debian/patches/series index 58ab3d2..65bc1e4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -36,3 +36,4 @@ fedora-pci-primary.diff 179_glx_cleanup_drawables.patch 180_fedora_no_synaptics_mouse_synthesis.patch 181_fedora_log_proc_cmdline.patch +182_negative_sync_transitions.patch -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org