Package: xserver-xorg-video-qxl
Version: 0.0.16-1

Hi,

using certain window managers over spice, we found corrupted
drawables
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-qxl/+bug/913314
and xorg segfaults
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-qxl/+bug/913311
Cherrypicking upstream commit id c77ba9f217093f946a4c6bf6edf9f34b24844d8d
fixes both.  The following patch does that, as well as adding a -dbg
package (which helped track down the needed patch).

(it also updates the maintainer which you obviously do not want for
the debian package, sorry about that.)

thanks,
-serge

============================= Debdiff: =================================
diff -Nru xserver-xorg-video-qxl-0.0.16/debian/changelog 
xserver-xorg-video-qxl-0.0.16/debian/changelog
--- xserver-xorg-video-qxl-0.0.16/debian/changelog      2011-11-12 
00:16:28.000000000 +0100
+++ xserver-xorg-video-qxl-0.0.16/debian/changelog      2012-01-10 
11:34:59.000000000 +0100
@@ -1,3 +1,15 @@
+xserver-xorg-video-qxl (0.0.16-1ubuntu2) precise; urgency=low
+
+  * add translate-the-access-region.patch.
+
+ -- Serge Hallyn <serge.hal...@ubuntu.com>  Tue, 10 Jan 2012 11:34:13 +0100
+
+xserver-xorg-video-qxl (0.0.16-1ubuntu1) precise; urgency=low
+
+  * Add a debug package.
+
+ -- Serge Hallyn <serge.hal...@ubuntu.com>  Tue, 10 Jan 2012 11:28:58 +0100
+
 xserver-xorg-video-qxl (0.0.16-1) unstable; urgency=low
 
   [ Liang Guo ]
diff -Nru xserver-xorg-video-qxl-0.0.16/debian/control 
xserver-xorg-video-qxl-0.0.16/debian/control
--- xserver-xorg-video-qxl-0.0.16/debian/control        2011-09-17 
15:45:28.000000000 +0200
+++ xserver-xorg-video-qxl-0.0.16/debian/control        2012-01-10 
11:29:21.000000000 +0100
@@ -1,7 +1,8 @@
 Source: xserver-xorg-video-qxl
 Section: x11
 Priority: optional
-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: Liang Guo <bluestonech...@gmail.com>, Cyril Brulebois 
<k...@debian.org>
 Build-Depends:
  debhelper (>= 8),
@@ -39,3 +40,17 @@
  <URL:http://www.X.org>
  .
  This package is built from the X.org xf86-video-qxl driver module.
+
+Package: xserver-xorg-video-qxl-dbg
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, xserver-xorg-video-qxl (= 
${binary:Version})
+Section: debug
+Description: X.Org X server -- QXL display driver
+ This package provides the driver for QXL video device, i.e. if Linux is 
+ running inside a RedHat Enterprise Virtualization (RHEV) environment, or
+ other SPICE-compatible KVM/Qemu emulator. 
+ .
+ More information about X.Org can be found at:
+ <URL:http://www.X.org>
+ .
+ This package contains the debugging symbols
diff -Nru xserver-xorg-video-qxl-0.0.16/debian/patches/series 
xserver-xorg-video-qxl-0.0.16/debian/patches/series
--- xserver-xorg-video-qxl-0.0.16/debian/patches/series 1970-01-01 
01:00:00.000000000 +0100
+++ xserver-xorg-video-qxl-0.0.16/debian/patches/series 2012-01-10 
11:34:09.000000000 +0100
@@ -0,0 +1 @@
+translate-the-access-region.patch
diff -Nru 
xserver-xorg-video-qxl-0.0.16/debian/patches/translate-the-access-region.patch 
xserver-xorg-video-qxl-0.0.16/debian/patches/translate-the-access-region.patch
--- 
xserver-xorg-video-qxl-0.0.16/debian/patches/translate-the-access-region.patch  
    1970-01-01 01:00:00.000000000 +0100
+++ 
xserver-xorg-video-qxl-0.0.16/debian/patches/translate-the-access-region.patch  
    2012-01-10 11:34:00.000000000 +0100
@@ -0,0 +1,48 @@
+commit c77ba9f217093f946a4c6bf6edf9f34b24844d8d
+Author: Søren Sandmann <s...@redhat.com>
+Date:   Fri Oct 28 12:56:30 2011 -0400
+
+    Translate the access region according to the drawable offset.
+    
+    The driver code expects to be given coordinates relative to the
+    offscreen pixmap.
+
+diff --git a/src/uxa/uxa.c b/src/uxa/uxa.c
+index 83e06cc..9d02e34 100644
+--- a/src/uxa/uxa.c
++++ b/src/uxa/uxa.c
+@@ -143,19 +143,19 @@ Bool uxa_prepare_access(DrawablePtr pDrawable, RegionPtr 
region, uxa_access_t ac
+ {
+       ScreenPtr pScreen = pDrawable->pScreen;
+       uxa_screen_t *uxa_screen = uxa_get_screen(pScreen);
+-      PixmapPtr pPixmap = uxa_get_drawable_pixmap(pDrawable);
+-      Bool offscreen = uxa_pixmap_is_offscreen(pPixmap);
++      int xoff, yoff;
++      PixmapPtr pPixmap = uxa_get_offscreen_pixmap(pDrawable, &xoff, &yoff);
+       BoxRec box;
+       RegionRec region_rec;
+       Bool result;
+ 
+-      if (!offscreen)
++      if (!pPixmap)
+           return TRUE;
+ 
+       box.x1 = 0;
+       box.y1 = 0;
+-      box.x2 = pPixmap->drawable.width;
+-      box.y2 = pPixmap->drawable.height;
++      box.x2 = pDrawable->width;
++      box.y2 = pDrawable->height;
+       
+       REGION_INIT (pScreen, &region_rec, &box, 1);
+       if (!region)
+@@ -168,7 +168,8 @@ Bool uxa_prepare_access(DrawablePtr pDrawable, RegionPtr 
region, uxa_access_t ac
+        */
+       REGION_INTERSECT (pScreen, region, region, &region_rec);
+ #endif
+-      
++      REGION_TRANSLATE (pScreen, region, xoff, yoff);
++
+       result = TRUE;
+ 
+       if (uxa_screen->info->prepare_access)
diff -Nru xserver-xorg-video-qxl-0.0.16/debian/rules 
xserver-xorg-video-qxl-0.0.16/debian/rules
--- xserver-xorg-video-qxl-0.0.16/debian/rules  2011-09-17 15:45:28.000000000 
+0200
+++ xserver-xorg-video-qxl-0.0.16/debian/rules  2012-01-10 11:10:15.000000000 
+0100
@@ -1,5 +1,9 @@
 #!/usr/bin/make -f
 
+.PHONY: override_dh_strip
+override_dh_strip:
+       dh_strip --dbg-package=xserver-xorg-video-qxl-dbg
+
 # Install in debian/tmp to retain control through dh_install:
 override_dh_auto_install:
        dh_auto_install --destdir=debian/tmp



-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120110104847.GA15552@peqn

Reply via email to