From f49fca6ce6b8c2c1e441cd9cbc2a5990aa63ed06 Mon Sep 17 00:00:00 2001 From: Julien Plissonneau Duquene Date: Mon, 2 Feb 2009 08:48:08 -0500 Subject: [PATCH] Fix bug 19819. 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. --- src/evdev.c | 2 ++ 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; } } -- 1.5.4.3