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

xserver-xorg-input-evdev: Changes to 'ubuntu'



 debian/changelog                                         |    7 ++
 debian/patches/102-fix_valuator_proximity_handling.patch |   44 +++++++++++++++
 debian/patches/series                                    |    1 
 3 files changed, 52 insertions(+)

New commits:
commit 5a22db5e79d0ffa9bf7871c8cb121d8ef9ed4efa
Author: Chase Douglas <chase.douglas@canonical.com>
Date:   Thu Apr 14 16:10:38 2011 -0400

    Another fix for event handling for devices that provide proximity events (LP: #573006)

diff --git a/debian/changelog b/debian/changelog
index f0e6699..1d50c1a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-input-evdev (1:2.6.0-1ubuntu12) UNRELEASED; urgency=low
+
+  * Another fix for event handling for devices that provide proximity events
+    (LP: #573006)
+
+ -- Chase Douglas <chase.douglas@ubuntu.com>  Thu, 14 Apr 2011 16:09:18 -0400
+
 xserver-xorg-input-evdev (1:2.6.0-1ubuntu11) natty; urgency=low
 
   [ Chase Douglas ]
diff --git a/debian/patches/102-fix_valuator_proximity_handling.patch b/debian/patches/102-fix_valuator_proximity_handling.patch
new file mode 100644
index 0000000..8b014ae
--- /dev/null
+++ b/debian/patches/102-fix_valuator_proximity_handling.patch
@@ -0,0 +1,44 @@
+From 6139f903bc1942b160d3d94828d9aa66d9d3febd Mon Sep 17 00:00:00 2001
+From: Chase Douglas <chase.douglas@canonical.com>
+Date: Thu, 14 Apr 2011 15:48:10 -0400
+Subject: [PATCH] Copy out of proximity values into current values selectively
+
+Otherwise, an event that causes us to go into proximity with some new
+valuator values will retain some old valuator values from when last in
+proximity. This change ensures that all values posted while out of
+proximity are accounted for.
+
+Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+---
+ src/evdev.c |   15 ++++++++-------
+ 1 files changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/src/evdev.c b/src/evdev.c
+index b767b0e..f31f492 100644
+--- a/src/evdev.c
++++ b/src/evdev.c
+@@ -525,13 +525,14 @@ EvdevProcessProximityState(InputInfoPtr pInfo)
+     {
+         /* We're about to go into/out of proximity but have no abs events
+          * within the EV_SYN. Use the last coordinates we have. */
+-        if (!pEvdev->abs_queued &&
+-            valuator_mask_num_valuators(pEvdev->prox) > 0)
+-        {
+-            valuator_mask_copy(pEvdev->vals, pEvdev->prox);
+-            valuator_mask_zero(pEvdev->prox);
+-            pEvdev->abs_queued = 1;
+-        }
++        for (i = 0; i < valuator_mask_size(pEvdev->prox); i++)
++            if (!valuator_mask_isset(pEvdev->vals, i) &&
++                valuator_mask_isset(pEvdev->prox, i))
++                valuator_mask_set(pEvdev->vals, i,
++                                  valuator_mask_get(pEvdev->prox, i));
++        valuator_mask_zero(pEvdev->prox);
++
++        pEvdev->abs_queued = valuator_mask_size(pEvdev->vals);
+     }
+ 
+     pEvdev->in_proximity = prox_state;
+-- 
+1.7.4.1
+
diff --git a/debian/patches/series b/debian/patches/series
index bcf8912..51dc9cb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 100-xi2.1.patch
 101-gestures.patch
+102-fix_valuator_proximity_handling.patch


Reply to: