summaryrefslogtreecommitdiff
path: root/dix
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2008-12-19 08:56:35 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2008-12-23 09:12:55 +1000
commit477c32708718f4470ac2e786b2446d7a44e45b9c (patch)
treefa809cf5a092aff7392f1beede8b2f92cc7f1d1d /dix
parent25aac8b5793caa92116b766d5a9e12dbecdb0290 (diff)
dix: don't disable uninitialized devices.
If a device hasn't been initialized, it doesn't have a cursor yet. So don't set the cursor to the NullCursor, and don't try to DisableDevice either. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'dix')
-rw-r--r--dix/devices.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/dix/devices.c b/dix/devices.c
index 48b6e7dd4..ff6f0ec98 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -965,11 +965,15 @@ RemoveDevice(DeviceIntPtr dev)
return BadImplementation;
initialized = dev->inited;
- if (DevHasCursor(dev))
- screen->DisplayCursor(dev, screen, NullCursor);
-
deviceid = dev->id;
- DisableDevice(dev);
+
+ if (initialized)
+ {
+ if (DevHasCursor(dev))
+ screen->DisplayCursor(dev, screen, NullCursor);
+
+ DisableDevice(dev);
+ }
prev = NULL;
for (tmp = inputInfo.devices; tmp; (prev = tmp), (tmp = next)) {