Fix crash for motion events from devices without valuators
A WarpPointer request may trigger a motion event on a device without valuators. That request is ignored by GetPointerEvents but during smooth scroll emulation we dereference dev->valuators to get the number of axes. Break out early if the device doesn't have valuators. Signed-off-by: Michal Suchanek <hramrach@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
594b4a4f06
commit
88c767edb0
|
@ -1615,7 +1615,7 @@ GetPointerEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
|
|||
/* Now turn the smooth-scrolling axes back into emulated button presses
|
||||
* for legacy clients, based on the integer delta between before and now */
|
||||
for (i = 0; i < valuator_mask_size(&mask); i++) {
|
||||
if (i >= pDev->valuator->numAxes)
|
||||
if ( !pDev->valuator || (i >= pDev->valuator->numAxes))
|
||||
break;
|
||||
|
||||
if (!valuator_mask_isset(&mask, i))
|
||||
|
|
Loading…
Reference in New Issue
Block a user