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>
This commit is contained in:
		
							parent
							
								
									2b45602e82
								
							
						
					
					
						commit
						ec1d08442f
					
				| 
						 | 
				
			
			@ -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)
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue