diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2008-11-21 15:13:00 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@redhat.com> | 2008-11-26 10:53:23 +1000 |
commit | ec1d08442f69353cb0e73ac4eaf0346ebb975594 (patch) | |
tree | bdac966d0975bf02454a8279e5b2b0f0cd32b57d | |
parent | 2b45602e828a07a0817691b2838cd34ffee531bd (diff) |
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 <peter.hutterer@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
-rw-r--r-- | dix/devices.c | 23 | ||||
-rw-r--r-- | 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); |