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

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: