xorg-server: Changes to 'ubuntu'
debian/changelog | 11 ++-
debian/patches/114_dri2_make_sure_x_drawable_exists.patch | 47 ++++++++++++++
debian/patches/series | 1
3 files changed, 57 insertions(+), 2 deletions(-)
New commits:
commit d634102f0889a7fb56a9d8763740dd3a0a052876
Author: Bryce Harrington <bryce@bryceharrington.org>
Date: Tue Apr 6 18:16:43 2010 -0700
Adding patch from Sarvatt for bug #550218 to fix clutter close crash
diff --git a/debian/changelog b/debian/changelog
index ff55836..0be473b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,15 +1,22 @@
-xorg-server (2:1.7.6-2ubuntu2) UNRELEASED; urgency=low
+xorg-server (2:1.7.6-2ubuntu2) lucid; urgency=low
+ [Bryce Harrington]
* Add 113_quell_nouveau_aiglx.patch: Don't emit error message about
AIGLX on nouveau. 3D is not supported yet on -nouveau so this error
message serves only to confuse bug reporters.
(LP: #529590)
+ [Robert Sarvatt]
+ * Add 114_dri2_make_sure_x_drawable_exists.patch: Makes sure
+ a corresponding X drawable exists before trying to use it, fixing
+ xserver segfaults under DRI2 when closing down GLX apps.
+ (LP: #550218)
+
-- Bryce Harrington <bryce@ubuntu.com> Wed, 31 Mar 2010 16:37:45 -0700
xorg-server (2:1.7.6-2ubuntu1) lucid; urgency=low
- [ Timo Aaltonen ]
+ [ Timo Aaltonen ]
* Merge from Debian unstable. (LP: #546933)
[ Michael Casadevall ]
diff --git a/debian/patches/114_dri2_make_sure_x_drawable_exists.patch b/debian/patches/114_dri2_make_sure_x_drawable_exists.patch
new file mode 100644
index 0000000..4fb4b9e
--- /dev/null
+++ b/debian/patches/114_dri2_make_sure_x_drawable_exists.patch
@@ -0,0 +1,47 @@
+diff --git a/glx/glxcmds.c b/glx/glxcmds.c
+index 77afbf4..95a667a 100644
+--- a/glx/glxcmds.c
++++ b/glx/glxcmds.c
+@@ -1086,6 +1086,7 @@ __glXDrawableInit(__GLXdrawable *drawable,
+ XID drawId, __GLXconfig *config)
+ {
+ drawable->pDraw = pDraw;
++ drawable->xDrawId = pDraw->id;
+ drawable->type = type;
+ drawable->drawId = drawId;
+ drawable->config = config;
+diff --git a/glx/glxdrawable.h b/glx/glxdrawable.h
+index 2a365c5..227bc95 100644
+--- a/glx/glxdrawable.h
++++ b/glx/glxdrawable.h
+@@ -52,6 +52,7 @@ struct __GLXdrawable {
+ void (*waitGL)(__GLXdrawable *);
+
+ DrawablePtr pDraw;
++ XID xDrawId;
+ XID drawId;
+
+ /*
+diff --git a/glx/glxdri2.c b/glx/glxdri2.c
+index e791bf6..adfb18e 100644
+--- a/glx/glxdri2.c
++++ b/glx/glxdri2.c
+@@ -102,12 +102,16 @@ __glXDRIdrawableDestroy(__GLXdrawable *drawable)
+ {
+ __GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable;
+ const __DRIcoreExtension *core = private->screen->core;
+-
++ DrawablePtr pDraw;
++ int err;
++
+ (*core->destroyDrawable)(private->driDrawable);
+
+ /* If the X window was destroyed, the dri DestroyWindow hook will
+ * aready have taken care of this, so only call if pDraw isn't NULL. */
+- if (drawable->pDraw != NULL)
++ err = dixLookupDrawable(&pDraw, drawable->xDrawId, serverClient, 0,
++ DixWriteAccess);
++ if (err == Success && pDraw)
+ DRI2DestroyDrawable(drawable->pDraw);
+
+ __glXDrawableRelease(drawable);
diff --git a/debian/patches/series b/debian/patches/series
index 43aba93..055d109 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -26,6 +26,7 @@
111_armel-drv-fallbacks.patch
112_xaa-fbcomposite-fix-negative-size.patch
113_quell_nouveau_aiglx.patch
+114_dri2_make_sure_x_drawable_exists.patch
121_only_switch_vt_when_active.diff
#143_default_to_vesa.patch
157_check_null_modes.patch
Reply to: