[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xorg-server: Changes to 'ubuntu'



 debian/changelog                       |   11 +++++++++++
 debian/patches/185_dix_badwindow.patch |   28 ++++++++++++++++++++++++++++
 debian/patches/series                  |    1 +
 3 files changed, 40 insertions(+)

New commits:
commit d53a6b51348104db333013abd64339b4f225ac42
Author: Bryce Harrington <bryce@bryceharrington.org>
Date:   Thu Sep 3 18:29:00 2009 -0700

    Cherrypick from upstream to return BadWindow instead of BadMatch

diff --git a/debian/changelog b/debian/changelog
index 4d3705d..e420ed4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+xorg-server (2:1.6.3-1ubuntu5) karmic; urgency=low
+
+  * Add 185_dix_badwindow.patch: dixLookupWindow may return BadMatch if
+    the window in question isn't actually a window. In this case,
+    GetProperty needs to return BadWindow - not BadMatch.  Fixes unexpected
+    crash in some GNOME applications not expecting to get BadMatch returned
+    from this function call.
+    (LP: #321041)
+
+ -- Bryce Harrington <bryce@ubuntu.com>  Thu, 03 Sep 2009 18:27:04 -0700
+
 xorg-server (2:1.6.3-1ubuntu4) karmic; urgency=low
 
   * Add 184_virtual_devices_autodetect.patch: Automatic driver detection
diff --git a/debian/patches/185_dix_badwindow.patch b/debian/patches/185_dix_badwindow.patch
new file mode 100644
index 0000000..b74540e
--- /dev/null
+++ b/debian/patches/185_dix_badwindow.patch
@@ -0,0 +1,28 @@
+From f04fe06ae244b851b38be824b1a80f2f8a030591 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu, 03 Sep 2009 04:17:14 +0000
+Subject: dix: don't return BadMatch from GetProperty (#23562)
+
+dixLookupWindow may return BadMatch if the window in question isn't actually
+a window. In this case, GetProperty needs to return BadWindow - not
+BadMatch.
+
+X.Org Bug 23562 <http://bugs.freedesktop.org/show_bug.cgi?id=23562>
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+diff --git a/dix/property.c b/dix/property.c
+index 10b8482..9ec5dc6 100644
+--- a/dix/property.c
++++ b/dix/property.c
+@@ -474,7 +474,7 @@ ProcGetProperty(ClientPtr client)
+     }
+     rc = dixLookupWindow(&pWin, stuff->window, client, win_mode);
+     if (rc != Success)
+-	return rc;
++	return (rc == BadMatch) ? BadWindow : rc;
+ 
+     if (!ValidAtom(stuff->property))
+     {
+--
+cgit v0.8.2
diff --git a/debian/patches/series b/debian/patches/series
index 5a4cdff..6d1c384 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -39,3 +39,4 @@ fedora-pci-primary.diff
 182_negative_sync_transitions.patch
 183_dont_reset_event_time.patch
 184_virtual_devices_autodetect.patch
+185_dix_badwindow.patch


Reply to: