xf86Xinput: xf86PostButtonEventP must set POINTER_ACCELERATE for relative events.
Thanks to Peter Hutterer for spotting this bug.
This commit is contained in:
parent
ae65daab08
commit
b83c682e7e
|
@ -864,6 +864,14 @@ xf86PostButtonEventP(DeviceIntPtr device,
|
||||||
{
|
{
|
||||||
int i = 0, nevents = 0;
|
int i = 0, nevents = 0;
|
||||||
int index;
|
int index;
|
||||||
|
int flags = 0;
|
||||||
|
|
||||||
|
XI_VERIFY_VALUATORS(num_valuators);
|
||||||
|
|
||||||
|
if (is_absolute)
|
||||||
|
flags = POINTER_ABSOLUTE;
|
||||||
|
else
|
||||||
|
flags = POINTER_RELATIVE | POINTER_ACCELERATE;
|
||||||
|
|
||||||
#if XFreeXDGA
|
#if XFreeXDGA
|
||||||
if (miPointerGetScreen(device)) {
|
if (miPointerGetScreen(device)) {
|
||||||
|
@ -873,13 +881,10 @@ xf86PostButtonEventP(DeviceIntPtr device,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
XI_VERIFY_VALUATORS(num_valuators);
|
|
||||||
|
|
||||||
GetEventList(&xf86Events);
|
GetEventList(&xf86Events);
|
||||||
nevents = GetPointerEvents(xf86Events, device,
|
nevents = GetPointerEvents(xf86Events, device,
|
||||||
is_down ? ButtonPress : ButtonRelease, button,
|
is_down ? ButtonPress : ButtonRelease, button,
|
||||||
(is_absolute) ? POINTER_ABSOLUTE : POINTER_RELATIVE,
|
flags, first_valuator, num_valuators, valuators);
|
||||||
first_valuator, num_valuators, valuators);
|
|
||||||
|
|
||||||
for (i = 0; i < nevents; i++)
|
for (i = 0; i < nevents; i++)
|
||||||
mieqEnqueue(device, (InternalEvent*)((xf86Events + i)->event));
|
mieqEnqueue(device, (InternalEvent*)((xf86Events + i)->event));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user