aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-10-06 19:09:33 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-10-10 11:12:42 +1000
commitf2dc0681febd297d95dae7c9e3ae19b771af8420 (patch)
treefc1d2dba8052aefdf20d5087ee8b0e362f9c4498
parentevdev 2.2.99.2 (diff)
downloadxf86-input-evdev-f2dc0681febd297d95dae7c9e3ae19b771af8420.tar.gz
xf86-input-evdev-f2dc0681febd297d95dae7c9e3ae19b771af8420.tar.bz2
xf86-input-evdev-f2dc0681febd297d95dae7c9e3ae19b771af8420.zip
Finalize the middle button emulation when a read error occurs (#23048)
If a read error occurs, remove the block and wakeup handlers for middle mouse button emulation. Otherwise, they'll still be around after the device has been reopened and overwritten with the new ones created by EvdevOn. Once this happened, future removal of the device can lead to a server crash. X.Org Bug 23048 <http://bugs.freedesktop.org/show_bug.cgi?id=23048> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--src/evdev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/evdev.c b/src/evdev.c
index 59cdd0d..2ffa412 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -768,6 +768,7 @@ EvdevReadInput(InputInfoPtr pInfo)
{
if (errno == ENODEV) /* May happen after resume */
{
+ EvdevMBEmuFinalize(pInfo);
xf86RemoveEnabledDevice(pInfo);
close(pInfo->fd);
pInfo->fd = -1;