From ec1d08442f69353cb0e73ac4eaf0346ebb975594 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 21 Nov 2008 15:13:00 +1000 Subject: dix: Enable core devices in InitCoreDevices already. Updated patch, see http://lists.freedesktop.org/archives/xorg/2008-November/040540.html Signed-off-by: Peter Hutterer Signed-off-by: Adam Jackson --- dix/devices.c | 23 ++++++----------------- dix/main.c | 3 +-- 2 files changed, 7 insertions(+), 19 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) { diff --git a/dix/main.c b/dix/main.c index 7bd91e0c2..ee2e10db5 100644 --- a/dix/main.c +++ b/dix/main.c @@ -361,8 +361,7 @@ int main(int argc, char *argv[], char *envp[]) InitCoreDevices(); InitInput(argc, argv); - if (InitAndStartDevices() != Success) - FatalError("failed to initialize core devices"); + InitAndStartDevices(); dixSaveScreens(serverClient, SCREEN_SAVER_FORCER, ScreenSaverReset); -- cgit v1.2.3