xkb: don't attempt to filter events for devices without key classes.
Reported by Magnus Kessler. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
This commit is contained in:
		
							parent
							
								
									a85f0d6b98
								
							
						
					
					
						commit
						a425abf0ea
					
				|  | @ -819,7 +819,8 @@ XkbSrvInfoPtr	xkbi; | |||
|             pXDev = inputInfo.keyboard; | ||||
|     } | ||||
| 
 | ||||
|     xkbi= pXDev->key->xkbInfo; | ||||
|     xkbi= (pXDev->key) ? pXDev->key->xkbInfo : NULL; | ||||
| 
 | ||||
|     if ( pClient->xkbClientFlags & _XkbClientInitialized ) { | ||||
| 	if ((xkbDebugFlags&0x10)&& | ||||
| 		((xE[0].u.u.type==KeyPress)||(xE[0].u.u.type==KeyRelease)|| | ||||
|  | @ -841,6 +842,10 @@ XkbSrvInfoPtr	xkbi; | |||
| 	     	(_XkbIsReleaseEvent(xE[0].u.u.type)) ) { | ||||
| 	    return False; | ||||
| 	} | ||||
| 
 | ||||
|         if (!xkbi) | ||||
|             return True; | ||||
| 
 | ||||
| 	if ((pXDev->deviceGrab.grab != NullGrab)  | ||||
|                 && pXDev->deviceGrab.fromPassiveGrab && | ||||
| 	    ((xE[0].u.u.type==KeyPress)||(xE[0].u.u.type==KeyRelease)|| | ||||
|  | @ -884,6 +889,9 @@ XkbSrvInfoPtr	xkbi; | |||
|     else { | ||||
| 	register CARD8 	type; | ||||
| 
 | ||||
|         if (!xkbi) | ||||
|             return True; | ||||
| 
 | ||||
| 	for (i=0;i<nEvents;i++) { | ||||
| 	    type= xE[i].u.u.type; | ||||
| 	    if ((xkbDebugFlags&0x4)&& | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue