aboutsummaryrefslogtreecommitdiff
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-03 07:21:27 +1000
commit0dbb88c52b057cfdff6116060060841e4fc4abb5 (patch)
tree10ae887580f75d34725894d3a397928495f8327c
parentfix manpage formatting (diff)
downloadxf86-input-evdev-0dbb88c52b057cfdff6116060060841e4fc4abb5.tar.gz
xf86-input-evdev-0dbb88c52b057cfdff6116060060841e4fc4abb5.tar.bz2
xf86-input-evdev-0dbb88c52b057cfdff6116060060841e4fc4abb5.zip
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>
-rw-r--r--src/evdev.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/evdev.c b/src/evdev.c
index 30120b6..1356411 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1285,6 +1285,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;
}
}