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

View File

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