From 159f9396cc5a7cb168fad9f3dc0e43bd790fdaeb Mon Sep 17 00:00:00 2001 From: root Date: Sun, 21 Oct 2012 01:56:19 -0700 Subject: Sun Oct 21 01:55:44 PDT 2012 --- ...001-dix-fix-zaphod-screen-scrossing-54654.patch | 42 ++++++++++++++++++++++ extra/xorg-server/PKGBUILD | 13 ++++--- 2 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 extra/xorg-server/0001-dix-fix-zaphod-screen-scrossing-54654.patch (limited to 'extra/xorg-server') diff --git a/extra/xorg-server/0001-dix-fix-zaphod-screen-scrossing-54654.patch b/extra/xorg-server/0001-dix-fix-zaphod-screen-scrossing-54654.patch new file mode 100644 index 000000000..e3e42d410 --- /dev/null +++ b/extra/xorg-server/0001-dix-fix-zaphod-screen-scrossing-54654.patch @@ -0,0 +1,42 @@ +From 29d84d5a7ca4cc12cce47de9313adeb8554fb894 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Thu, 18 Oct 2012 15:11:31 +1000 +Subject: [PATCH] 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 +Date: Wed Aug 8 11:34:32 2012 +1000 + + dix: work around scaling issues during WarpPointer (#53037) + +X.Org Bug 54654 + +Signed-off-by: Peter Hutterer +--- + dix/getevents.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +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, +-- +1.7.11.7 + diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD index 36da56815..08ccbaf56 100644 --- a/extra/xorg-server/PKGBUILD +++ b/extra/xorg-server/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 168552 2012-10-13 11:43:10Z andyrtr $ +# $Id: PKGBUILD 169364 2012-10-20 06:35:05Z andyrtr $ # Maintainer: Jan de Groot pkgbase=xorg-server pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel') pkgver=1.13.0 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') license=('custom') url="http://xorg.freedesktop.org" @@ -18,13 +18,15 @@ source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2 autoconfig-sis.patch xvfb-run xvfb-run.1 - 10-quirks.conf) + 10-quirks.conf + 0001-dix-fix-zaphod-screen-scrossing-54654.patch) sha256sums=('548b91cb01087ad4f892428e7ac4955251cf12393e86c70420436b33848ef28a' '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162' 'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84' 'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9' '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776' - '94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166') + '94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166' + '23861814b4283ca3fe43aae6e88ee82bcbae5713bf88eabeaef7beb94efe9707') build() { cd "${srcdir}/${pkgbase}-${pkgver}" @@ -35,6 +37,9 @@ build() { # Use unofficial imedia SiS driver for supported SiS devices patch -Np0 -i "${srcdir}/autoconfig-sis.patch" + # https://bugs.archlinux.org/task/31959 / https://bugs.freedesktop.org/show_bug.cgi?id=54654 + patch -Np1 -i ${srcdir}/0001-dix-fix-zaphod-screen-scrossing-54654.patch + autoreconf -fi ./configure --prefix=/usr \ --enable-ipv6 \ -- cgit v1.2.3-54-g00ecf