Input: Don't enable devices when we open them
Thanks to Xi's braindead design, it's otherwise impossible to query input devices without enabling them. Hurrah.
This commit is contained in:
		
							parent
							
								
									0a31db14b7
								
							
						
					
					
						commit
						cd8e99e56e
					
				| 
						 | 
				
			
			@ -98,7 +98,6 @@ int
 | 
			
		|||
ProcXOpenDevice(ClientPtr client)
 | 
			
		||||
{
 | 
			
		||||
    xInputClassInfo evbase[numInputClasses];
 | 
			
		||||
    Bool enableit = FALSE;
 | 
			
		||||
    int j = 0;
 | 
			
		||||
    int status = Success;
 | 
			
		||||
    xOpenDeviceReply rep;
 | 
			
		||||
| 
						 | 
				
			
			@ -121,7 +120,6 @@ ProcXOpenDevice(ClientPtr client)
 | 
			
		|||
	    SendErrorToClient(client, IReqCode, X_OpenDevice, 0, BadDevice);
 | 
			
		||||
	    return Success;
 | 
			
		||||
	}
 | 
			
		||||
	enableit = TRUE;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    OpenInputDevice(dev, client, &status);
 | 
			
		||||
| 
						 | 
				
			
			@ -129,8 +127,6 @@ ProcXOpenDevice(ClientPtr client)
 | 
			
		|||
	SendErrorToClient(client, IReqCode, X_OpenDevice, 0, status);
 | 
			
		||||
	return Success;
 | 
			
		||||
    }
 | 
			
		||||
    if (enableit && dev->inited && dev->startup)
 | 
			
		||||
	(void)EnableDevice(dev);
 | 
			
		||||
 | 
			
		||||
    rep.repType = X_Reply;
 | 
			
		||||
    rep.RepType = X_OpenDevice;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -204,17 +204,6 @@ OpenInputDevice(DeviceIntPtr	dev,
 | 
			
		|||
    if (!dev->inited)
 | 
			
		||||
        ActivateDevice(dev);
 | 
			
		||||
 | 
			
		||||
    if (!dev->public.on) {
 | 
			
		||||
        if (EnableDevice(dev)) {
 | 
			
		||||
            dev->startup = FALSE;
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            ErrorF("couldn't enable device %s\n", dev->name);
 | 
			
		||||
            *status = BadDevice;
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    *status = Success;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue