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 <[email protected]> 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 <[email protected]> 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 -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

