remove drawable from hash table when window is deleted (see bug 13091)
authorWuNian <nian.wu@intel.com>
Wed, 28 Nov 2007 01:22:42 +0000 (18:22 -0700)
committerBrian <brian.paul@tungstengraphics.com>
Wed, 28 Nov 2007 01:22:42 +0000 (18:22 -0700)
src/glx/x11/glxcmds.c

index 2d217517af63ab7d476eaa5200bd0dfae119e623..7ff2bf700c9482259b831d8a2190e4e16d547c35 100644 (file)
@@ -101,6 +101,7 @@ static void GarbageCollectDRIDrawables(Display *dpy, __GLXscreenConfigs *sc)
                   longer exists in the Xserver */
                (*pdraw->driDrawable.destroyDrawable)(&pdraw->driDrawable);
                XF86DRIDestroyDrawable(dpy, sc->scr, draw);
+                __glxHashDelete(sc->drawHash, draw);
                Xfree(pdraw);
            }
        } while (__glxHashNext(sc->drawHash, &draw, (void *)&pdraw) == 1);