xorg-server: Changes to 'ubuntu-quantal'
debian/changelog | 9 ++
debian/patches/238-fix-erratic-cursor-movement.patch | 61 +++++++++++++++++++
debian/patches/500_pointer_barrier_thresholds.diff | 2
debian/patches/series | 1
4 files changed, 71 insertions(+), 2 deletions(-)
New commits:
commit 44ae4c3fdd57662fae109a309530706d6f914d06
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Tue Aug 27 14:54:01 2013 +0300
Fix patch 500 to apply.
diff --git a/debian/changelog b/debian/changelog
index 2e94ef7..3bd3317 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,9 @@ xorg-server (2:1.13.0-0ubuntu6.2) UNRELEASED; urgency=low
when using cursor movement when using "Coordinate Transformation Matrix".
(LP: #1212123)
+ [ Timo Aaltonen ]
+ * Fix patch 500 to apply.
+
-- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Tue, 12 Feb 2013 15:18:32 +0100
xorg-server (2:1.13.0-0ubuntu6.1) quantal-proposed; urgency=low
diff --git a/debian/patches/500_pointer_barrier_thresholds.diff b/debian/patches/500_pointer_barrier_thresholds.diff
index b61dcfc..9206298 100644
--- a/debian/patches/500_pointer_barrier_thresholds.diff
+++ b/debian/patches/500_pointer_barrier_thresholds.diff
@@ -816,8 +816,6 @@ index 71f88a9..8b204dc 100644
/* Xinerama */
extern int (*PanoramiXSaveXFixesVector[XFixesNumberRequests]) (ClientPtr);
void PanoramiXFixesInit(void);
-diff --git a/dix/dixutils.c b/dix/dixutils.c
-index 9eb5489..521bdce 100644
diff -Nru /dev/null xorg-server/test/gtest/dummy.conf
--- /dev/null 1970-01-01 01:00:00.000000000 +0100
+++ xorg-server/test/gtest/dummy.conf 2012-05-21 18:00:45.996945542 +0200
commit 6adaa1361fcbc57e6d69c04c11ce14447c355af2
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date: Tue Aug 27 14:45:07 2013 +0300
Add 238-fix-erratic-cursor-movement.patch to fix erratic cursor movement when using cursor movement when using "Coordinate Transformation Matrix". (LP: #1212123)
diff --git a/debian/changelog b/debian/changelog
index 9351786..2e94ef7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,14 @@
xorg-server (2:1.13.0-0ubuntu6.2) UNRELEASED; urgency=low
+ [ Maarten Lankhorst ]
* add patch to fix starting xorg-server with no outputs connected (LP: #1122072)
- fixup-headless.patch
+ [ Shih-Yuan Lee ]
+ * Add 238-fix-erratic-cursor-movement.patch to fix erratic cursor movement
+ when using cursor movement when using "Coordinate Transformation Matrix".
+ (LP: #1212123)
+
-- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Tue, 12 Feb 2013 15:18:32 +0100
xorg-server (2:1.13.0-0ubuntu6.1) quantal-proposed; urgency=low
diff --git a/debian/patches/238-fix-erratic-cursor-movement.patch b/debian/patches/238-fix-erratic-cursor-movement.patch
new file mode 100644
index 0000000..38e09c2
--- /dev/null
+++ b/debian/patches/238-fix-erratic-cursor-movement.patch
@@ -0,0 +1,61 @@
+## Description: dix: Save touchpoint last coordinates before transform.
+## Origin/Author: Yuly Novikov <ynovikov@chromium.org>
+## Bug: https://bugs.freedesktop.org/show_bug.cgi?id=49347
+Index: xorg-server-lts-quantal-1.13.0/dix/getevents.c
+===================================================================
+--- xorg-server-lts-quantal-1.13.0.orig/dix/getevents.c 2013-08-14 13:59:15.110805225 +0800
++++ xorg-server-lts-quantal-1.13.0/dix/getevents.c 2013-08-14 14:05:01.452522627 +0800
+@@ -1964,32 +1964,27 @@
+ default:
+ return 0;
+ }
+- if (t->mode == XIDirectTouch && !(flags & TOUCH_CLIENT_ID)) {
+- if (!valuator_mask_isset(&mask, 0))
+- valuator_mask_set_double(&mask, 0,
+- valuator_mask_get_double(touchpoint.ti->
+- valuators, 0));
+- if (!valuator_mask_isset(&mask, 1))
+- valuator_mask_set_double(&mask, 1,
+- valuator_mask_get_double(touchpoint.ti->
+- valuators, 1));
+- }
+
+ /* Get our screen event co-ordinates (root_x/root_y/event_x/event_y):
+ * these come from the touchpoint in Absolute mode, or the sprite in
+ * Relative. */
+ if (t->mode == XIDirectTouch) {
+- transformAbsolute(dev, &mask);
+-
+ if (!(flags & TOUCH_CLIENT_ID)) {
+- for (i = 0; i < valuator_mask_size(&mask); i++) {
++ for (i = 0; i < max(valuator_mask_size(&mask), 2); i++) {
+ double val;
+
+ if (valuator_mask_fetch_double(&mask, i, &val))
+ valuator_mask_set_double(touchpoint.ti->valuators, i, val);
++ /* If the device doesn't post new X and Y axis values,
++ * use the last values posted.
++ */
++ else if (i < 2 &&
++ valuator_mask_fetch_double(touchpoint.ti->valuators, i, &val))
++ valuator_mask_set_double(&mask, i, val);
+ }
+ }
+
++ transformAbsolute(dev, &mask);
+ clipAbsolute(dev, &mask);
+ }
+ else {
+Index: xorg-server-lts-quantal-1.13.0/include/inputstr.h
+===================================================================
+--- xorg-server-lts-quantal-1.13.0.orig/include/inputstr.h 2013-08-14 13:59:15.110805225 +0800
++++ xorg-server-lts-quantal-1.13.0/include/inputstr.h 2013-08-14 13:59:15.106805195 +0800
+@@ -331,7 +331,7 @@
+ uint32_t ddx_id; /* touch ID given by the DDX */
+ Bool emulate_pointer;
+
+- ValuatorMask *valuators; /* last recorded axis values */
++ ValuatorMask *valuators; /* last axis values as posted, pre-transform */
+ } DDXTouchPointInfoRec;
+
+ typedef struct _TouchClassRec {
diff --git a/debian/patches/series b/debian/patches/series
index c4f7381..47f907b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -40,3 +40,4 @@ fixup-headless.patch
230-fix-compat-output-selection.patch
231-scan-pci-after-probing-devices.patch
237-dix-set-the-device-transformation-matrix.patch
+238-fix-erratic-cursor-movement.patch
Reply to: