From b4fcb825fc989131c399e3473576f539a81f3aac Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 14 Oct 2008 16:09:20 +1030 Subject: Clean up program flow - don't call PreInit for "modules" on DEVICE_INIT. Call the PreInit functions for MB Emulation, wheel emu, and draglock during PreInit, not on DEVICE_INIT. This way, we only parse the options once and don't overwrite with defaults when coming back from a VT switch. (cherry picked from commit b0737bdbd1f6e601eb4984b6f4cb49279190984c) --- src/emuMB.c | 9 --------- src/emuWheel.c | 19 ------------------- src/evdev.c | 11 ++++------- 3 files changed, 4 insertions(+), 35 deletions(-) diff --git a/src/emuMB.c b/src/emuMB.c index 472e74f..363de7e 100644 --- a/src/emuMB.c +++ b/src/emuMB.c @@ -320,15 +320,6 @@ EvdevMBEmuPreInit(InputInfoPtr pInfo) RegisterBlockAndWakeupHandlers (EvdevMBEmuBlockHandler, EvdevMBEmuWakeupHandler, (pointer)pInfo); - -#ifdef HAVE_PROPERTIES - XIChangeDeviceProperty(pInfo->dev, prop_mbemu, XA_INTEGER, 8, - PropModeReplace, 1, &pEvdev->emulateMB.enabled, - TRUE); - XIChangeDeviceProperty(pInfo->dev, prop_mbtimeout, XA_INTEGER, 16, - PropModeReplace, 1, &pEvdev->emulateMB.timeout, - TRUE); -#endif } void diff --git a/src/emuWheel.c b/src/emuWheel.c index 246ab47..e73ddf3 100644 --- a/src/emuWheel.c +++ b/src/emuWheel.c @@ -308,25 +308,6 @@ EvdevWheelEmuPreInit(InputInfoPtr pInfo) "EmulateWheelInertia: %d, " "EmulateWheelTimeout: %d\n", pInfo->name, pEvdev->emulateWheel.button, inertia, timeout); - -#ifdef HAVE_PROPERTIES - XIChangeDeviceProperty(pInfo->dev, prop_wheel_emu, XA_INTEGER, 8, - PropModeReplace, 1, &pEvdev->emulateWheel.enabled, TRUE); - XIChangeDeviceProperty(pInfo->dev, prop_wheel_button, XA_INTEGER, 8, - PropModeReplace, 1, &pEvdev->emulateWheel.button, TRUE); - XIChangeDeviceProperty(pInfo->dev, prop_wheel_inertia, XA_INTEGER, 8, - PropModeReplace, 1, &pEvdev->emulateWheel.inertia, TRUE); - XIChangeDeviceProperty(pInfo->dev, prop_wheel_timeout, XA_INTEGER, 16, - PropModeReplace, 1, &pEvdev->emulateWheel.timeout, TRUE); - - val[0] = pEvdev->emulateWheel.X.up_button; - val[1] = pEvdev->emulateWheel.X.down_button; - val[2] = pEvdev->emulateWheel.Y.up_button; - val[3] = pEvdev->emulateWheel.Y.down_button; - XIChangeDeviceProperty(pInfo->dev, prop_wheel_axismap, XA_INTEGER, 8, - PropModeReplace, 4, val, TRUE); - -#endif } #ifdef HAVE_PROPERTIES diff --git a/src/evdev.c b/src/evdev.c index f79cdfb..6d05b07 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -1000,13 +1000,6 @@ EvdevOn(DeviceIntPtr device) } else { xf86AddEnabledDevice(pInfo); - if ((pEvdev->flags & EVDEV_BUTTON_EVENTS) && - !(pEvdev->flags & EVDEV_INITIALIZED)) - { - EvdevMBEmuPreInit(pInfo); - EvdevWheelEmuPreInit(pInfo); - EvdevDragLockInit(pInfo); - } pEvdev->flags |= EVDEV_INITIALIZED; device->public.on = TRUE; } @@ -1367,6 +1360,10 @@ EvdevPreInit(InputDriverPtr drv, IDevPtr dev, int flags) EvdevCacheCompare(pInfo, FALSE); /* cache device data */ + EvdevMBEmuPreInit(pInfo); + EvdevWheelEmuPreInit(pInfo); + EvdevDragLockInit(pInfo); + return pInfo; } -- cgit v1.2.3