diff options
author | Peter Hutterer <peter.hutterer@redhat.com> | 2008-10-27 15:54:49 +1030 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@redhat.com> | 2008-10-28 09:09:14 +1030 |
commit | af096e8c5d8b425f725a37bf4a98e205e70716e9 (patch) | |
tree | 28d2cad41ace013ab8cfdbcfa3f1bd42d72b6da8 | |
parent | 12498042fcc08e34aef0117ce84192f59542fd56 (diff) |
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.
-rw-r--r-- | src/emuMB.c | 5 | ||||
-rw-r--r-- | src/evdev.c | 1 | ||||
-rw-r--r-- | src/evdev.h | 1 |
3 files changed, 7 insertions, 0 deletions
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); |