summaryrefslogtreecommitdiff
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-19 13:43:59 +1000
commit5a4b0ba33d3b1b956bef392ae351e4ee54f53cf9 (patch)
tree326ae8a2ddb1c1c9972de0a6f9c90a3b77ebaa7f
parentcd24c2cc183d56603056805ed0084e3abb11c758 (diff)
downloadxorg-driver-xf86-input-evdev-5a4b0ba33d3b1b956bef392ae351e4ee54f53cf9.tar.gz
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> (cherry picked from commit f2dc0681febd297d95dae7c9e3ae19b771af8420)
-rw-r--r--src/evdev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/evdev.c b/src/evdev.c
index 85ed233..ff5554c 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -576,6 +576,7 @@ EvdevReadInput(InputInfoPtr pInfo)
{
if (errno == ENODEV) /* May happen after resume */
{
+ EvdevMBEmuFinalize(pInfo);
xf86RemoveEnabledDevice(pInfo);
close(pInfo->fd);
pInfo->fd = -1;