summaryrefslogtreecommitdiff
path: root/dix/devices.c
diff options
context:
space:
mode:
Diffstat (limited to 'dix/devices.c')
-rw-r--r--dix/devices.c23
1 files changed, 6 insertions, 17 deletions
diff --git a/dix/devices.c b/dix/devices.c
index afc78d81e..f85e875af 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -595,8 +595,6 @@ CorePointerProc(DeviceIntPtr pDev, int what)
* Both devices are not tied to physical devices, but guarantee that there is
* always a keyboard and a pointer present and keep the protocol semantics.
*
- * The devices are activated but not enabled.
- *
* Note that the server MUST have two core devices at all times, even if there
* is no physical device connected.
*/
@@ -607,6 +605,12 @@ InitCoreDevices(void)
&inputInfo.pointer,
&inputInfo.keyboard) != Success)
FatalError("Failed to allocate core devices");
+
+ ActivateDevice(inputInfo.pointer);
+ ActivateDevice(inputInfo.keyboard);
+ EnableDevice(inputInfo.pointer);
+ EnableDevice(inputInfo.keyboard);
+
}
/**
@@ -632,21 +636,6 @@ InitAndStartDevices()
ActivateDevice(dev);
}
- if (!inputInfo.keyboard) { /* In theory, this cannot happen */
- ErrorF("[dix] No core keyboard\n");
- return BadImplementation;
- }
- if (!inputInfo.pointer) { /* In theory, this cannot happen */
- ErrorF("[dix] No core pointer\n");
- return BadImplementation;
- }
-
- /* Now enable all devices */
- if (inputInfo.pointer->inited && inputInfo.pointer->startup)
- EnableDevice(inputInfo.pointer);
- if (inputInfo.keyboard->inited && inputInfo.keyboard->startup)
- EnableDevice(inputInfo.keyboard);
-
/* enable real devices */
for (dev = inputInfo.off_devices; dev; dev = next)
{