diff options
author | Peter Hutterer <peter.hutterer@redhat.com> | 2008-10-27 15:54:49 +1030 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@redhat.com> | 2008-11-03 13:46:31 +1030 |
commit | 8f96530449b264e7f1f21ab1d030c5b361937774 (patch) | |
tree | d5c38970b0b3e341eb7dd8e867e63862746ffdaa | |
parent | Fix axis inversion for absolute coordinates. (diff) | |
download | xf86-input-evdev-8f96530449b264e7f1f21ab1d030c5b361937774.tar.gz xf86-input-evdev-8f96530449b264e7f1f21ab1d030c5b361937774.tar.bz2 xf86-input-evdev-8f96530449b264e7f1f21ab1d030c5b361937774.zip |
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.
(cherry picked from commit af096e8c5d8b425f725a37bf4a98e205e70716e9)
-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); |