summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2007-09-06 17:27:28 +0930
committerPeter Hutterer <peter@cs.unisa.edu.au>2007-09-06 17:27:28 +0930
commit49dbe9a757a3d7a0b9ab318242c6cc0cbd4dd1f0 (patch)
tree3cce2293e4bcad347535a8ff14ed731f166a3419
parent03680a384aa423ece75b658f00b96db2628c39fa (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.c7
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;