From af096e8c5d8b425f725a37bf4a98e205e70716e9 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 27 Oct 2008 15:54:49 +1030 Subject: emuMB: add EvdevMBEmuOn and call from EvdevOn to register wakeup handlers. This got broken in b0737bdbd1f6e601eb4984b6f4cb49279190984c, when the EmuMBPreInit call was removed from EvdevOn. As a result, VT switching away and back wouldn't restore the wakeup handlers and mouse button presses disappeared. --- src/emuMB.c | 5 +++++ src/evdev.c | 1 + src/evdev.h | 1 + 3 files changed, 7 insertions(+) diff --git a/src/emuMB.c b/src/emuMB.c index 4af0791..e5a767a 100644 --- a/src/emuMB.c +++ b/src/emuMB.c @@ -317,6 +317,11 @@ EvdevMBEmuPreInit(InputInfoPtr pInfo) pEvdev->emulateMB.timeout = xf86SetIntOption(pInfo->options, "Emulate3Timeout", 50); +} + +void +EvdevMBEmuOn(InputInfoPtr pInfo) +{ RegisterBlockAndWakeupHandlers (EvdevMBEmuBlockHandler, EvdevMBEmuWakeupHandler, (pointer)pInfo); diff --git a/src/evdev.c b/src/evdev.c index d112efe..26ae0a1 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -1008,6 +1008,7 @@ EvdevOn(DeviceIntPtr device) } else { xf86AddEnabledDevice(pInfo); + EvdevMBEmuOn(pInfo); pEvdev->flags |= EVDEV_INITIALIZED; device->public.on = TRUE; } diff --git a/src/evdev.h b/src/evdev.h index c2f614a..7e1da15 100644 --- a/src/evdev.h +++ b/src/evdev.h @@ -127,6 +127,7 @@ BOOL EvdevMBEmuFilterEvent(InputInfoPtr, int, BOOL); void EvdevMBEmuWakeupHandler(pointer, int, pointer); void EvdevMBEmuBlockHandler(pointer, struct timeval**, pointer); void EvdevMBEmuPreInit(InputInfoPtr); +void EvdevMBEmuOn(InputInfoPtr); void EvdevMBEmuFinalize(InputInfoPtr); void EvdevMBEmuEnable(InputInfoPtr, BOOL); -- cgit v1.2.3