xorg-server: Changes to 'ubuntu'
debian/changelog | 10 +++
debian/patches/172_cwgetbackingpicture_nullptr_check.patch | 39 +++++++++++++
debian/patches/series | 1
3 files changed, 50 insertions(+)
New commits:
commit 1c33f87456a79837f3aab5dd0009b56d23f29628
Author: Bryce Harrington <bryce@bryceharrington.org>
Date: Mon Mar 30 22:26:43 2009 -0700
Null ptr check for cwGetBackingPicture()
diff --git a/debian/changelog b/debian/changelog
index 756e7da..d646dd1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+xorg-server (2:1.6.0-0ubuntu7) jaunty; urgency=low
+
+ * Add 172_cwgetbackingpicture_nullptr_check.patch:
+ - cwGetBackingPicture can segfault when minimizing/maximizing firefox with
+ a flash video playing. This appears to be a race condition in which the
+ backing picture's data is not always fully defined.
+ (LP: #319402)
+
+ -- Bryce Harrington <bryce@ubuntu.com> Mon, 30 Mar 2009 22:20:17 -0700
+
xorg-server (2:1.6.0-0ubuntu6) jaunty; urgency=low
* Add 171_xkb_geometry_copying.patch:
diff --git a/debian/patches/172_cwgetbackingpicture_nullptr_check.patch b/debian/patches/172_cwgetbackingpicture_nullptr_check.patch
new file mode 100644
index 0000000..9a91113
--- /dev/null
+++ b/debian/patches/172_cwgetbackingpicture_nullptr_check.patch
@@ -0,0 +1,39 @@
+From 7813adf66be31d8b0e8df21821e786e688f7fe78 Mon Sep 17 00:00:00 2001
+From: Bryce Harrington <bryce@bryceharrington.org>
+Date: Fri, 27 Mar 2009 19:01:32 -0700
+Subject: [PATCH] cwGetBackingPicture can segfault when minimizing/maximizing firefox with
+ a flash video playing. This appears to be a race condition in which the
+ backing picture's data is not always fully defined.
+
+Signed-off-by: Bryce Harrington <bryce@bryceharrington.org>
+---
+ miext/cw/cw_render.c | 13 +++++++++----
+ 1 files changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/miext/cw/cw_render.c b/miext/cw/cw_render.c
+index 6e0c727..fe8cba7 100644
+--- a/miext/cw/cw_render.c
++++ b/miext/cw/cw_render.c
+@@ -125,10 +125,15 @@ cwGetBackingPicture (PicturePtr pPicture, int *x_off, int *y_off)
+ WindowPtr pWindow = (WindowPtr) pDrawable;
+ PixmapPtr pPixmap = getCwPixmap (pWindow);
+
+- *x_off = pDrawable->x - pPixmap->screen_x;
+- *y_off = pDrawable->y - pPixmap->screen_y;
+-
+- return pPicturePrivate->pBackingPicture;
++ if (pDrawable && pPixmap) {
++ *x_off = pDrawable->x - pPixmap->screen_x;
++ *y_off = pDrawable->y - pPixmap->screen_y;
++
++ return pPicturePrivate->pBackingPicture;
++ } else {
++ *x_off = *y_off = 0;
++ return pPicture;
++ }
+ }
+ else
+ {
+--
+1.6.0.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 9de2217..c654b2e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -28,3 +28,4 @@
#999_default_modedebug_on.patch
170_primary_pci_video_device.patch
171_xkb_geometry_copying.patch
+172_cwgetbackingpicture_nullptr_check.patch
Reply to: