[packages/xorg-xserver-server: 8/8] - fix mouse stuck on primary display with separate X screens regression - rel 2

baggins baggins at pld-linux.org
Wed Oct 24 13:38:34 CEST 2012


commit eb44f68b6075fca71a82ef7492be524f2c029515
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Wed Oct 24 13:37:33 2012 +0200

    - fix mouse stuck on primary display with separate X screens regression
    - rel 2

 0001-dix-fix-zaphod-screen-scrossing-54654.patch | 42 ++++++++++++++++++++++++
 xorg-xserver-server.spec                         |  6 +++-
 2 files changed, 47 insertions(+), 1 deletion(-)
---
diff --git a/xorg-xserver-server.spec b/xorg-xserver-server.spec
index c783b2c..69a211d 100644
--- a/xorg-xserver-server.spec
+++ b/xorg-xserver-server.spec
@@ -24,7 +24,7 @@ Summary:	X.org server
 Summary(pl.UTF-8):	Serwer X.org
 Name:		xorg-xserver-server
 Version:	1.13.0
-Release:	1
+Release:	2
 License:	MIT
 Group:		X11/Servers
 Source0:	http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2
@@ -41,6 +41,8 @@ Patch4:		%{name}-builtin-SHA1.patch
 Patch5:		%{name}-export-GetMaster.patch
 Patch6:		110_nvidia_slowdow_fix.patch
 Patch7:		%{name}-include-defs.patch
+# https://bugs.freedesktop.org/show_bug.cgi?id=54654
+Patch8:		0001-dix-fix-zaphod-screen-scrossing-54654.patch
 URL:		http://xorg.freedesktop.org/
 BuildRequires:	Mesa-libGL-devel >= 7.8.1
 # for glx headers
@@ -365,6 +367,8 @@ Biblioteka rozszerzenia GLX dla serwera X.org.
 #unfortunately breaks build
 #patch7 -p1
 
+%patch8 -p1
+
 # xserver uses pixman-1 API/ABI so put that explictly here
 sed -i -e 's#<pixman\.h#<pixman-1/pixman.h#g' ./fb/fb.h ./include/miscstruct.h ./render/picture.h
 
diff --git a/0001-dix-fix-zaphod-screen-scrossing-54654.patch b/0001-dix-fix-zaphod-screen-scrossing-54654.patch
new file mode 100644
index 0000000..e3e42d4
--- /dev/null
+++ b/0001-dix-fix-zaphod-screen-scrossing-54654.patch
@@ -0,0 +1,42 @@
+From 29d84d5a7ca4cc12cce47de9313adeb8554fb894 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+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 <peter.hutterer at 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 at who-t.net>
+---
+ 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
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xorg-xserver-server.git/commitdiff/eb44f68b6075fca71a82ef7492be524f2c029515



More information about the pld-cvs-commit mailing list