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
Block a user