mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-02-19 01:50:44 +01:00
dix: drop x/y back into last.valuators before updating the history (#19285)
positionSprite needs to scale to screen coordinates and in the process of
doing so alters dev->last.valuators[0:1]. Drop the real coordinates back after
finishing and before updating the motion history. This way, we don't push the
screen coordinates into the motion history.
X.Org Bug 19285 <http://bugs.freedesktop.org/show_bug.cgi?id=19285>
(cherry picked from commit 56efbc0986)
This commit is contained in:
parent
ca21fd7ddf
commit
6be355b8e8
1 changed files with 3 additions and 3 deletions
|
|
@ -695,6 +695,9 @@ positionSprite(DeviceIntPtr dev, int *x, int *y,
|
|||
dev->valuator->axes + 1, scr->height);
|
||||
}
|
||||
|
||||
/* dropy x/y (device coordinates) back into valuators for next event */
|
||||
dev->last.valuators[0] = *x;
|
||||
dev->last.valuators[1] = *y;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -980,9 +983,6 @@ GetPointerEvents(EventList *events, DeviceIntPtr pDev, int type, int buttons,
|
|||
positionSprite(pDev, &x, &y, scr, &cx, &cy);
|
||||
updateHistory(pDev, first_valuator, num_valuators, ms);
|
||||
|
||||
/* dropy x/y (device coordinates) back into valuators for next event */
|
||||
pDev->last.valuators[0] = x;
|
||||
pDev->last.valuators[1] = y;
|
||||
|
||||
/* Update the valuators with the true value sent to the client*/
|
||||
if (num_valuators >= 1 && first_valuator == 0)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue