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.doug...@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.doug...@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.doug...@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.doug...@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 -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1qao19-0005s9...@alioth.debian.org