diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2012-10-18 15:11:31 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2012-11-07 09:59:01 +1000 |
commit | 835737244f84d34b0b9c5a93560710a2275dcc63 (patch) | |
tree | eb056df72daa2a008c1953eb006c3d12c15d9ac6 | |
parent | a3f11d2f6066d2120e84f0c33684943474aa8ae1 (diff) |
dix: fix zaphod screen scrossing (#54654)
POINTER_SCREEN coordinates are screen-relative. For a Zaphod setup, the
coordinates after a screen crossing are already relative to the new screen's
origin. Add that offset to the coordinates before re-setting.
regression introduced by
commit bafbd99080be49a17be97d2cc758fbe623369945
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed Aug 8 11:34:32 2012 +1000
dix: work around scaling issues during WarpPointer (#53037)
X.Org Bug 54654 <http://bugs.freedesktop.org/show_bug.cgi?id=54654>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit e7cd5cce740e653000fb1192b600268dcf77dde2)
-rw-r--r-- | dix/getevents.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/dix/getevents.c b/dix/getevents.c index 71d83c4ba..8b4379d1c 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -1400,8 +1400,9 @@ fill_pointer_events(InternalEvent *events, DeviceIntPtr pDev, int type, coordinates were. */ if (flags & POINTER_SCREEN) { - screenx = sx; - screeny = sy; + scr = miPointerGetScreen(pDev); + screenx = sx + scr->x; + screeny = sy + scr->y; } scr = positionSprite(pDev, (flags & POINTER_ABSOLUTE) ? Absolute : Relative, |