diff options
author | Daniel Stone <daniel.stone@nokia.com> | 2006-07-19 19:41:54 -0400 |
---|---|---|
committer | Daniel Stone <daniels@endtroducing.fooishbar.org> | 2006-07-19 19:41:54 -0400 |
commit | 1cb568c0a6c18ec62ebb89ca21a22a77c78cad24 (patch) | |
tree | 910dea85f9fa52d7922c56cb45b3f6eb84736859 /src/evdev_brain.c | |
parent | remove XFree86LOADER usage (diff) | |
download | xf86-input-evdev-1cb568c0a6c18ec62ebb89ca21a22a77c78cad24.tar.gz xf86-input-evdev-1cb568c0a6c18ec62ebb89ca21a22a77c78cad24.tar.bz2 xf86-input-evdev-1cb568c0a6c18ec62ebb89ca21a22a77c78cad24.zip |
prune device list on DEVICE_CLOSE
Remove a device from the device list when we get DEVICE_CLOSE.
Diffstat (limited to 'src/evdev_brain.c')
-rw-r--r-- | src/evdev_brain.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/evdev_brain.c b/src/evdev_brain.c index 6365577..246666f 100644 --- a/src/evdev_brain.c +++ b/src/evdev_brain.c @@ -462,6 +462,23 @@ evdevNewDriver (evdevDriverPtr driver) return TRUE; } +void +evdevRemoveDevice (evdevDevicePtr pEvdev) +{ + evdevDriverPtr driver; + evdevDevicePtr *device; + + for (driver = evdev_drivers; driver; driver = driver->next) { + for (device = &driver->devices; *device; device = &(*device)->next) { + if (*device == pEvdev) { + *device = pEvdev->next; + pEvdev->next = NULL; + return; + } + } + } +} + Bool evdevGetBits (int fd, evdevBitsPtr bits) { |