diff options
author | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-09-06 17:27:28 +0930 |
---|---|---|
committer | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-09-06 17:27:28 +0930 |
commit | 49dbe9a757a3d7a0b9ab318242c6cc0cbd4dd1f0 (patch) | |
tree | 3cce2293e4bcad347535a8ff14ed731f166a3419 | |
parent | 03680a384aa423ece75b658f00b96db2628c39fa (diff) |
dix: close virtual core devices after other devices.
If a device is paired with the VCP, deleting the VCP before the device will
segfault the server when the sprite should get updated.
-rw-r--r-- | dix/devices.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/dix/devices.c b/dix/devices.c index fbb6cba66..e60601636 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -712,9 +712,6 @@ CloseDownDevices(void) { DeviceIntPtr dev, next; - CloseDevice(inputInfo.keyboard); - CloseDevice(inputInfo.pointer); - for (dev = inputInfo.devices; dev; dev = next) { next = dev->next; @@ -725,6 +722,10 @@ CloseDownDevices(void) next = dev->next; CloseDevice(dev); } + + CloseDevice(inputInfo.keyboard); + CloseDevice(inputInfo.pointer); + inputInfo.devices = NULL; inputInfo.off_devices = NULL; inputInfo.keyboard = NULL; |