summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Plissonneau Duquene <julien.plissonneau.duquene@savoirfairelinux.com>2009-02-02 10:46:52 -0500
committerPeter Hutterer <peter.hutterer@who-t.net>2009-02-13 13:19:50 +1000
commitad834abd570be893aa14b83eb10b635947b5a141 (patch)
treec8367ed8bb89d5d0dd74671c2a52d481d3bd56d4
parent3549c3e5f0b0fffe6f2ee12a31a447494dfdce1b (diff)
downloadxorg-driver-xf86-input-evdev-ad834abd570be893aa14b83eb10b635947b5a141.tar.gz
EvdevCacheCompare: ignore changes in current device position
Input devices (especially touchscreens) were disabled when switching virtual console back to X because EvdevCacheCompare() thought the device was substituted by another while away from X. Actually only the current position reported by the device changed from what was in the cache. Fixed by ignoring the current position in the comparison. Fixes bug #19819. Signed-off-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit 0dbb88c52b057cfdff6116060060841e4fc4abb5)
-rw-r--r--src/evdev.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/evdev.c b/src/evdev.c
index bdf7592..e81c54c 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1273,6 +1273,8 @@ EvdevCacheCompare(InputInfoPtr pInfo, BOOL compare)
xf86Msg(X_ERROR, "ioctl EVIOCGABS failed: %s\n", strerror(errno));
goto error;
}
+ /* ignore current position (value) in comparison (bug #19819) */
+ absinfo[i].value = pEvdev->absinfo[i].value;
}
}