diff options
Diffstat (limited to 'x11-base/xorg-server/files/xorg-server-1.13.0-zaphod-screen-crossing.patch')
-rw-r--r-- | x11-base/xorg-server/files/xorg-server-1.13.0-zaphod-screen-crossing.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/x11-base/xorg-server/files/xorg-server-1.13.0-zaphod-screen-crossing.patch b/x11-base/xorg-server/files/xorg-server-1.13.0-zaphod-screen-crossing.patch new file mode 100644 index 000000000000..1577a2e77c08 --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-1.13.0-zaphod-screen-crossing.patch @@ -0,0 +1,40 @@ +From 835737244f84d34b0b9c5a93560710a2275dcc63 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer <peter.hutterer@who-t.net> +Date: Thu, 18 Oct 2012 05:11:31 +0000 +Subject: 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) +--- +diff --git a/dix/getevents.c b/dix/getevents.c +index 71d83c4..8b4379d 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, +-- +cgit v0.9.0.2-2-gbebe |