diff options
Diffstat (limited to 'dix/devices.c')
-rw-r--r-- | dix/devices.c | 23 |
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) { |