dix: fix up valuators passed to acceleration code.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
This commit is contained in:
Simon Thum 2010-11-19 11:09:21 +10:00 committed by Peter Hutterer
parent d435e1ecb8
commit ebe3ddaf28

View File

@ -1159,11 +1159,16 @@ GetPointerEvents(EventList *events, DeviceIntPtr pDev, int type, int buttons,
* should be converted to masked valuators. */
int vals[2];
vals[0] = valuator_mask_isset(&mask, 0) ?
valuator_mask_get(&mask, 0) : pDev->last.valuators[0];
valuator_mask_get(&mask, 0) : 0;
vals[1] = valuator_mask_isset(&mask, 1) ?
valuator_mask_get(&mask, 1) : pDev->last.valuators[1];
valuator_mask_get(&mask, 1) : 0;
accelPointer(pDev, 0, 2, vals, ms);
if (valuator_mask_isset(&mask, 0))
valuator_mask_set(&mask, 0, vals[0]);
if (valuator_mask_isset(&mask, 1))
valuator_mask_set(&mask, 1, vals[1]);
/* The pointer acceleration code modifies the fractional part
* in-place, so we need to extract this information first */
x_frac = pDev->last.remainder[0];