[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'ubuntu'



 debian/changelog                       |    7 +++
 debian/patches/504_fix_no_coords.patch |   64 +++++++++++++++++++++++++++++++++
 debian/patches/series                  |    1 
 3 files changed, 71 insertions(+), 1 deletion(-)

New commits:
commit 4becca0170464dfb291dab385e35c2534f488177
Author: Chase Douglas <chase.douglas@ubuntu.com>
Date:   Wed Jun 22 13:42:44 2011 -0700

    Fix event handling when neither X nor Y coordinates are set (LP: #806256)
    
    * Fix event handling when neither X nor Y coordinates are set (LP: #806256)
      - Added 504_fix_no_coords.patch

diff --git a/debian/changelog b/debian/changelog
index dcaa433..ec089d5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,14 @@
 xorg-server (2:1.10.2.902-1ubuntu2) UNRELEASED; urgency=low
 
+  [ Bryce Harrington ]
   * rules:  patch needs to depend on stampdir, else it doesn't get created,
     and 'debian/rules patch' malfunctions.
 
- -- Bryce Harrington <bryce@ubuntu.com>  Tue, 05 Jul 2011 17:11:42 -0700
+  [ Chase Douglas ]
+  * Fix event handling when neither X nor Y coordinates are set (LP: #806256)
+    - Added 504_fix_no_coords.patch
+
+ -- Chase Douglas <chase.douglas@ubuntu.com>  Thu, 07 Jul 2011 11:49:02 -0700
 
 xorg-server (2:1.10.2.902-1ubuntu1) oneiric; urgency=low
 
diff --git a/debian/patches/504_fix_no_coords.patch b/debian/patches/504_fix_no_coords.patch
new file mode 100644
index 0000000..a9c8150
--- /dev/null
+++ b/debian/patches/504_fix_no_coords.patch
@@ -0,0 +1,64 @@
+Fix handling of events when the X and Y valuators are not set. This fixes cursor
+warping to (0,0) on Wacom button press events.
+
+--- a/dix/getevents.c
++++ b/dix/getevents.c
+@@ -1177,31 +1177,37 @@ GetPointerEvents(EventList *events, Devi
+             }
+         }
+ 
+-        if (valuator_mask_isset(&mask, 0))
++        if (valuator_mask_isset(&mask, 0) || valuator_mask_isset(&mask, 1))
+         {
+-            x = valuator_mask_get(&mask, 0);
+-            pDev->last.untransformed_x = x;
+-        } else
+-            x = pDev->last.untransformed_x;
+-        if (valuator_mask_isset(&mask, 1))
+-        {
+-            y = valuator_mask_get(&mask, 1);
+-            pDev->last.untransformed_y = y;
+-        } else
+-            y = pDev->last.untransformed_y;
++            if (valuator_mask_isset(&mask, 0))
++            {
++                x = valuator_mask_get(&mask, 0);
++                pDev->last.untransformed_x = x;
++            } else
++                x = pDev->last.untransformed_x;
++            if (valuator_mask_isset(&mask, 1))
++            {
++                y = valuator_mask_get(&mask, 1);
++                pDev->last.untransformed_y = y;
++            } else
++                y = pDev->last.untransformed_y;
+ 
+-        transformAbsolute(pDev, &mask, &x, &y);
++            transformAbsolute(pDev, &mask, &x, &y);
+ 
+-        if (x != pDev->last.valuators[0])
+-            valuator_mask_set(&mask, 0, x);
+-        else
+-            valuator_mask_unset(&mask, 0);
+-        if (y != pDev->last.valuators[1])
+-            valuator_mask_set(&mask, 1, y);
+-        else
+-            valuator_mask_unset(&mask, 1);
++            if (x != pDev->last.valuators[0])
++                valuator_mask_set(&mask, 0, x);
++            else
++                valuator_mask_unset(&mask, 0);
++            if (y != pDev->last.valuators[1])
++                valuator_mask_set(&mask, 1, y);
++            else
++                valuator_mask_unset(&mask, 1);
+ 
+-        moveAbsolute(pDev, &x, &y, &mask);
++            moveAbsolute(pDev, &x, &y, &mask);
++        } else {
++            x = pDev->last.valuators[0];
++            y = pDev->last.valuators[1];
++        }
+     } else {
+         if (flags & POINTER_ACCELERATE) {
+             /* FIXME: Pointer acceleration only requires X and Y values. This
diff --git a/debian/patches/series b/debian/patches/series
index 8f62af8..6661354 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -35,3 +35,4 @@
 501_xf86CoordinatesToWindow.patch
 502_gestures-extension.patch
 503_fix_masked_transformed_valuators.patch
+504_fix_no_coords.patch


Reply to: