xfree86: Check for existence of button class before dereferencing it.
The Irxon Super Mini Bluetooth Wireless Keyboard for PC/PDA/Cell Phones keyboards have axes but not buttons. The evdev driver doesn't set up a button class for these keyboards and a motion event handled by DGAProcessPointerEvent dereferences the dev->button NULL pointer, causing a server crash. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
		
							parent
							
								
									86560b5d05
								
							
						
					
					
						commit
						e00e2e7b68
					
				| 
						 | 
				
			
			@ -1095,7 +1095,7 @@ DGAProcessPointerEvent (ScreenPtr pScreen, DGAEvent *event, DeviceIntPtr mouse)
 | 
			
		|||
    ev.header = ET_Internal;
 | 
			
		||||
    ev.length = sizeof(ev);
 | 
			
		||||
    ev.type = event->subtype;
 | 
			
		||||
    ev.corestate  = butc->state;
 | 
			
		||||
    ev.corestate  = butc ? butc->state : 0;
 | 
			
		||||
    if (master && master->key)
 | 
			
		||||
        ev.corestate |= XkbStateFieldFromRec(&master->key->xkbInfo->state);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue