Mesa (master): glx: Only remove drawables from the hash when we actually delete them

Kristian Høgsberg krh at kemper.freedesktop.org
Wed Sep 29 12:57:39 UTC 2010


Module: Mesa
Branch: master
Commit: 4b70fe8421f5132c585ff1dfb8d90229be26e71f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b70fe8421f5132c585ff1dfb8d90229be26e71f

Author: Kristian Høgsberg <krh at 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

---

 src/glx/dri_common.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

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);
+      }
    }
 }
 




More information about the mesa-commit mailing list