mesa: Changes to 'ubuntu-maverick'
debian/changelog | 8 ++++++++
src/glx/dri_common.c | 10 ++++++----
2 files changed, 14 insertions(+), 4 deletions(-)
New commits:
commit 52a6d56054c94b0e59c7224482282ad9e75308a6
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Thu Sep 30 14:50:02 2010 +1000
Add changelog entry for previous GLX context-switch cherry-pick
diff --git a/debian/changelog b/debian/changelog
index 5026000..ae1c96d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+mesa (7.9~git20100924-0ubuntu2) maverick; urgency=low
+
+ * Cherry-pick b24238c4 from 7.9 release branch. Fixes the lookup of
+ drawables after switching the GLX context, which was causing BadDrawable
+ errors in clutter applications which use multiple stages (LP: #561734)
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com> Thu, 30 Sep 2010 14:48:12 +1000
+
mesa (7.9~git20100924-0ubuntu1) maverick; urgency=low
* New upstream snapshot from the 7.9 release branch up to commit 3ad02793.
commit 63079f7488ceee9cea626e6e9a84f1a27069e833
Author: Kristian Høgsberg <krh@bitplanet.net>
Date: Wed Sep 29 08:32:12 2010 -0400
glx: Only remove drawables from the hash when we actually delete them
https://bugs.freedesktop.org/show_bug.cgi?id=30457
(cherry picked from commit b24238c49abf9b6aaaac56ffbf45a3c203c7ddd2)
diff --git a/src/glx/dri_common.c b/src/glx/dri_common.c
index 5fb5255..83d6e3c 100644
--- a/src/glx/dri_common.c
+++ b/src/glx/dri_common.c
@@ -391,17 +391,19 @@ driReleaseDrawables(struct glx_context *gc)
if (__glxHashLookup(priv->drawHash,
gc->currentDrawable, (void *) &pdraw) == 0) {
- if (pdraw->drawable == pdraw->xDrawable)
+ if (pdraw->drawable == pdraw->xDrawable) {
(*pdraw->destroyDrawable)(pdraw);
- __glxHashDelete(priv->drawHash, gc->currentDrawable);
+ __glxHashDelete(priv->drawHash, gc->currentDrawable);
+ }
}
if (gc->currentDrawable != gc->currentReadable &&
__glxHashLookup(priv->drawHash,
gc->currentReadable, (void *) &pdraw) == 0) {
- if (pdraw->drawable == pdraw->xDrawable)
+ if (pdraw->drawable == pdraw->xDrawable) {
(*pdraw->destroyDrawable)(pdraw);
- __glxHashDelete(priv->drawHash, gc->currentReadable);
+ __glxHashDelete(priv->drawHash, gc->currentReadable);
+ }
}
}
Reply to: