~ubuntu-branches/ubuntu/oneiric/xorg-server/oneiric-201109091216

« back to all changes in this revision

Viewing changes to debian/patches/204_fix-neg-sync-transition.patch

  • Committer: Bazaar Package Importer
  • Author(s): Christopher James Halse Rogers, Christopher James Halse Rogers, Timo Aaltonen, Chase Douglas
  • Date: 2011-02-23 09:40:07 UTC
  • mfrom: (1.1.39 upstream) (0.1.22 experimental)
  • Revision ID: james.westby@ubuntu.com-20110223094007-xqwcet0zcbelhj56
Tags: 2:1.9.99.902-2ubuntu1
[ Christopher James Halse Rogers ]
* Merge from Debian experimental.  Remaining Ubuntu changes:
  - rules:
    + Disable SELinux, libaudit-dev is not in main yet. (LP #406226)
    + Enable xcsecurity. (LP #247537)
    + Add --with-extra-module-dir to support GL alternatives.
    + Mention Ubuntu support in builderstring rather than package uploader's
      email address.
  - control:
    + Xvfb depends on xauth, x11-xkb-utils. (LP #500102)
    + Add breaks for incompatible drivers. (LP #614993)
    + Drop libaudit-dev from build-deps.
    + Build-depend on newer mesa to pick up DRI search paths variable.
  - local/xvfb-run*: Add correct docs about error codes. (LP #328205)
  - debian/patches:
    + 100_rethrow_signals.patch:
      When aborting, re-raise signals for apport
    + 105_nvidia_fglrx_autodetect.patch:
      Load proprietary drivers automatically when installed.
    + 109_fix-swcursor-crash.patch:
      Avoid dereferencing null pointer while reloading cursors during
      resume. (LP: #371405)
    + 111_armel-drv-fallbacks.patch:
      Add support for armel driver fallbacks.
    + 121_only_switch_vt_when_active.diff:
      Add a check to prevent the X server from changing the VT when killing
      GDM from the console.
    + 122_xext_fix_card32_overflow_in_xauth.patch:
      Fix server crash when “xauth generate” is called with large timeout.
    + 157_check_null_modes.patch, 162_null_crtc_in_rotation.patch,
      166_nullptr_xinerama_keyrepeat.patch, 167_nullptr_xisbread.patch
      169_mipointer_nullptr_checks.patch,
      172_cwgetbackingpicture_nullptr_check.patch:
      Fix various segfaults in xserver by checking pointers for NULL
      values before dereferencing them.
    + 165_man_xorg_conf_no_device_ident.patch
      Correct man page
    + 168_glibc_trace_to_stderr.patch:
      Report abort traces to stderr instead of terminal
    + 184_virtual_devices_autodetect.patch:
      Use vesa for qemu device, which is not supported by cirrus
    + 188_default_primary_to_first_busid.patch:
      Pick the first device and carry on (LP: #459512)
    + 190_cache-xkbcomp_output_for_fast_start_up.patch:
    + 191-Xorg-add-an-extra-module-path.patch:
      Add support for the alternatives module path.
    + 198_nohwaccess.patch:
      Adds a -nohwaccess argument to make X not access the hardware
      ports directly.
    + 200_randr-null.patch:
      Clarify a pointer initialization.
    + 206_intel_8xx_default_to_fbdev.patch:
      Makes 8xx class intel GPUs default to fbdev for stability. (LP: #633593)
    + 208_switch_on_release.diff:
      Switch keyboard layouts on key-release rather than key-press
        (LP #36812)
    + 209_add_legacy_bgnone_option.patch:
      Add -nr as a synonym for -background none until all ?DM are updated for
        the new option.
    + 210_pixman_null_ptr_check.patch: 
      Catch NULL pointer access after pixman_image_create_bits() failure
        (LP #705078)
    + Add 213_xichangehierarchy-check-oom.patch:
      Add NULL pointer check for out-of-memory conditions. (LP #720445)
    + debian/patches/214_glx_dri_searchdirs.patch:
      Search in same paths as mesa for DRI drivers for AIGLX so we can handle
      UMS fallback for radeon gracefully.
* 211_glx_fix_bindtextimageext_length_check.patch:
* 212_fix_request_length_check_for_createglxpbuffersgix.patch:
  - Drop; these cherry-picks are included in 1.10RC2
* debian/patches/214_glx_dri_searchdirs.patch:
  - Fix nouveau check to downgrade missing DRI error messages to info.
    We don't support nouveau's 3D, so let's not complain too strenuously
    when it's not installed.
* debian/patches/215_glx_drawable_refcounting.diff:
  - Refcount GLXDrawables to avoid use-after-free crashes.  Patch from
    xorg-devel mailing list.  Prevents segfault on logout and server
    regenerate, and possibly other times. (LP: #711422)
* 214_glx_dri_searchdirs.patch:
  - Fix dlclose/free snafu. (LP: #722563)
* debian/inputabiver:
* debian/videoabiver:
* debian/xserver-xorg-dev.install
  - Temporarily re-add these to xserver-xorg-dev so we don't need to merge
    all the driver changes from Debian en masse.  These should be dropped
    once all drivers have been merged from Debian, and certainly in Natty+1.
* debian/serverminver:
  - Include 2ubuntu1 string; Xi 2.1 bumps the minor input ABI, so drivers
    built against it need the Xi 2.1 patched server.

[ Timo Aaltonen ]
* debian/patches/216_dix-valuator-count-of-0-is-valid.diff:
  - For all but motion and proximity events, having no valuators is ok.
    Regression from 1.9, keyboard events are not converted to protocol
    events. (LP: #714696)

[ Chase Douglas ]
* Add in preliminary xi2.1 support
  - Added 500_xi2.1.patch
  - Moved 202_xf86CoordinationsToWindows.patch to
    501_xf86CoordinatesToWindow.patch
  - Moved 203_gestures-extension.patch to 502_gestures-extension.patch
  - Bump dependency on x11proto-input for xi 2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
commit da218289275e67e49d801d58dd818d237de8a9bc
2
 
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
3
 
Date:   Tue Aug 24 13:30:25 2010 +1000
4
 
 
5
 
    Xext: Fix edge case with {Positive,Negative}Transition triggers.
6
 
    
7
 
    The {Positive,Negative}Transition triggers only fire when the counter
8
 
    goes from strictly {below,above} the threshold.  If
9
 
    SyncComputeBracketValues gets called exactly at this threshold we may update
10
 
    the bracket values so that the counter is not updated past the threshold.
11
 
    
12
 
    Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
13
 
 
14
 
diff --git a/Xext/sync.c b/Xext/sync.c
15
 
index a51262a..c00e692 100644
16
 
--- a/Xext/sync.c
17
 
+++ b/Xext/sync.c
18
 
@@ -959,6 +959,17 @@ SyncComputeBracketValues(SyncCounter *pCounter)
19
 
            {
20
 
                psci->bracket_less = pTrigger->test_value;
21
 
                pnewltval = &psci->bracket_less;
22
 
+           } else if (XSyncValueEqual(pCounter->value, pTrigger->test_value) &&
23
 
+                      XSyncValueLessThan(pTrigger->test_value,
24
 
+                                         psci->bracket_greater))
25
 
+           {
26
 
+               /*
27
 
+                * The value is exactly equal to our threshold.  We want one
28
 
+                * more event in the positive direction to ensure we pick up
29
 
+                * when the value *exceeds* this threshold.
30
 
+                */
31
 
+               psci->bracket_greater = pTrigger->test_value;
32
 
+               pnewgtval = &psci->bracket_greater;
33
 
            }
34
 
        }
35
 
         else if (pTrigger->test_type == XSyncPositiveTransition &&
36
 
@@ -969,6 +980,17 @@ SyncComputeBracketValues(SyncCounter *pCounter)
37
 
            {
38
 
                psci->bracket_greater = pTrigger->test_value;
39
 
                pnewgtval = &psci->bracket_greater;
40
 
+           } else if (XSyncValueEqual(pCounter->value, pTrigger->test_value) &&
41
 
+                      XSyncValueGreaterThan(pTrigger->test_value,
42
 
+                                            psci->bracket_less))
43
 
+           {
44
 
+               /*
45
 
+                * The value is exactly equal to our threshold.  We want one
46
 
+                * more event in the negative direction to ensure we pick up
47
 
+                * when the value is less than this threshold.
48
 
+                */
49
 
+               psci->bracket_less = pTrigger->test_value;
50
 
+               pnewltval = &psci->bracket_less;
51
 
            }
52
 
        }
53
 
     } /* end for each trigger */
54
 
commit d9e9c0c3cf0456f78b6eed3290e6a418e38963fb
55
 
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
56
 
Date:   Tue Aug 24 13:35:05 2010 +1000
57
 
 
58
 
    IDLETIME: Fix edge-case in IdleTimeBlockHandler
59
 
    
60
 
    Ensure that if we're called exactly on the threshold of a
61
 
    NegativeTransition trigger that we reshedule to pick up
62
 
    an idle time over the threshold.
63
 
    
64
 
    Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
65
 
 
66
 
diff --git a/Xext/sync.c b/Xext/sync.c
67
 
index c00e692..314b63e 100644
68
 
--- a/Xext/sync.c
69
 
+++ b/Xext/sync.c
70
 
@@ -2322,6 +2322,14 @@ IdleTimeBlockHandler(pointer env, struct timeval **wt, pointer LastSelectMask)
71
 
                break;
72
 
            }
73
 
        }
74
 
+       /* 
75
 
+        * We've been called exactly on the idle time, but we have a
76
 
+        * NegativeTransition trigger which requires a transition from an
77
 
+        * idle time greater than this.  Schedule a wakeup for the next
78
 
+        * millisecond so we won't miss a transition.
79
 
+        */
80
 
+       if (XSyncValueEqual (idle, *pIdleTimeValueLess))
81
 
+           AdjustWaitForDelay(wt, 1);
82
 
     }
83
 
     else if (pIdleTimeValueGreater)
84
 
     {