dix: Enable core devices in InitCoreDevices already.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
d939f2482e
commit
e078901a4e
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue