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 0dbb88c52b)
This commit is contained in:
Julien Plissonneau Duquene
2009-02-02 10:46:52 -05:00
committed by Peter Hutterer
parent 3549c3e5f0
commit ad834abd57

View File

@@ -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;
}
}