Commit e078901a authored by Peter Hutterer's avatar Peter Hutterer

dix: Enable core devices in InitCoreDevices already.

Signed-off-by: default avatarPeter Hutterer <peter.hutterer@redhat.com>
Signed-off-by: Daniel Stone's avatarDaniel Stone <daniel@fooishbar.org>
Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
parent d939f248
......@@ -593,8 +593,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.
*/
......@@ -605,6 +603,12 @@ InitCoreDevices(void)
&inputInfo.pointer,
&inputInfo.keyboard) != Success)
FatalError("Failed to allocate core devices");
if (inputInfo.pointer->inited && inputInfo.pointer->startup)
EnableDevice(inputInfo.pointer);
if (inputInfo.keyboard->inited && inputInfo.keyboard->startup)
EnableDevice(inputInfo.keyboard);
}
/**
......@@ -619,7 +623,7 @@ InitCoreDevices(void)
*
* @return Success or error code on failure.
*/
int
void
InitAndStartDevices()
{
DeviceIntPtr dev, next;
......@@ -630,31 +634,14 @@ 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)
{
DebugF("(dix) enabling device %d\n", dev->id);
next = dev->next;
if (dev->inited && dev->startup)
(void)EnableDevice(dev);
EnableDevice(dev);
}
return Success;
}
/**
......
......@@ -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);
......
......@@ -239,7 +239,7 @@ extern Bool ActivateDevice(
extern Bool DisableDevice(
DeviceIntPtr /*device*/);
extern int InitAndStartDevices(void);
extern void InitAndStartDevices(void);
extern void CloseDownDevices(void);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment