diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-05-12 16:09:35 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-05-16 12:20:58 +1000 |
commit | 273890924b8ed6f8b7949c0322c8258b9e6f8630 (patch) | |
tree | aaccdf172e29a5b9eedba3401d73e91241a1d124 /hw | |
parent | 033a2b12fcd02fa9a2c2f20a352bec0a43074512 (diff) |
input: reduce the number of superfluous hierarchy events
There's only two reasons for hierarchy events:
- device is added, removed, etc. In this case we want to send the event as
it happens.
- devices are added in a XIChangeDeviceHierarchy request. In this case we
only want one event cumulating all changes.
Diffstat (limited to 'hw')
-rw-r--r-- | hw/xfree86/common/xf86Events.c | 6 | ||||
-rw-r--r-- | hw/xfree86/common/xf86PM.c | 4 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Xinput.c | 14 |
3 files changed, 12 insertions, 12 deletions
diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c index e9b4dfe60..98175e9d3 100644 --- a/hw/xfree86/common/xf86Events.c +++ b/hw/xfree86/common/xf86Events.c @@ -462,7 +462,7 @@ xf86VTSwitch(void) if (pInfo->dev) { xf86ReleaseKeys(pInfo->dev); ProcessInputEvents(); - DisableDevice(pInfo->dev); + DisableDevice(pInfo->dev, TRUE); } } xf86EnterServerState(SETUP); @@ -497,7 +497,7 @@ xf86VTSwitch(void) pInfo = xf86InputDevs; while (pInfo) { if (pInfo->dev) - EnableDevice(pInfo->dev); + EnableDevice(pInfo->dev, TRUE); pInfo = pInfo->next; } for (ih = InputHandlers; ih; ih = ih->next) @@ -555,7 +555,7 @@ xf86VTSwitch(void) pInfo = xf86InputDevs; while (pInfo) { if (pInfo->dev) - EnableDevice(pInfo->dev); + EnableDevice(pInfo->dev, TRUE); pInfo = pInfo->next; } diff --git a/hw/xfree86/common/xf86PM.c b/hw/xfree86/common/xf86PM.c index 7c8320dee..c51960e81 100644 --- a/hw/xfree86/common/xf86PM.c +++ b/hw/xfree86/common/xf86PM.c @@ -76,7 +76,7 @@ suspend (pmEvent event, Bool undo) } pInfo = xf86InputDevs; while (pInfo) { - DisableDevice(pInfo->dev); + DisableDevice(pInfo->dev, TRUE); pInfo = pInfo->next; } xf86EnterServerState(SETUP); @@ -119,7 +119,7 @@ resume(pmEvent event, Bool undo) dixSaveScreens(serverClient, SCREEN_SAVER_FORCER, ScreenSaverReset); pInfo = xf86InputDevs; while (pInfo) { - EnableDevice(pInfo->dev); + EnableDevice(pInfo->dev, TRUE); pInfo = pInfo->next; } xf86inSuspend = FALSE; diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c index 6b34aadd6..aa98dad1a 100644 --- a/hw/xfree86/common/xf86Xinput.c +++ b/hw/xfree86/common/xf86Xinput.c @@ -377,7 +377,7 @@ OpenInputDevice(DeviceIntPtr dev, int *status) { if (!dev->inited) - ActivateDevice(dev); + ActivateDevice(dev, TRUE); *status = Success; } @@ -544,18 +544,18 @@ xf86NewInputDevice(IDevPtr idev, DeviceIntPtr *pdev, BOOL enable) } dev = pInfo->dev; - rval = ActivateDevice(dev); + rval = ActivateDevice(dev, TRUE); if (rval != Success) { xf86Msg(X_ERROR, "Couldn't init device \"%s\"\n", idev->identifier); - RemoveDevice(dev); + RemoveDevice(dev, TRUE); goto unwind; } /* Enable it if it's properly initialised and we're currently in the VT */ if (enable && dev->inited && dev->startup && xf86Screens[0]->vtSema) { - EnableDevice(dev); + EnableDevice(dev, TRUE); if (!dev->enabled) { xf86Msg(X_ERROR, "Couldn't init device \"%s\"\n", idev->identifier); @@ -680,7 +680,7 @@ DeleteInputDeviceRequest(DeviceIntPtr pDev) } OsBlockSignals(); - RemoveDevice(pDev); + RemoveDevice(pDev, TRUE); if (!isMaster && pInfo != NULL) { @@ -1065,7 +1065,7 @@ xf86DisableDevice(DeviceIntPtr dev, Bool panic) if(!panic) { - DisableDevice(dev); + DisableDevice(dev, TRUE); } else { ev.type = DevicePresenceNotify; @@ -1088,7 +1088,7 @@ xf86DisableDevice(DeviceIntPtr dev, Bool panic) void xf86EnableDevice(DeviceIntPtr dev) { - EnableDevice(dev); + EnableDevice(dev, TRUE); } /* end of xf86Xinput.c */ |