+++ /dev/null
-From db568f9eabf3450d8a023597ff007df355b13ea8 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@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.hutterer@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