Hi, It occurs to me that the one thing that GarbageCollectDRIDrawables() doesn't do is delete hash items that have been collected. I've created a "quick fix" that destroys the hash and then recreates it, and this stops Warcraft crashing when it tries to exit. (I suppose a better fix would be some kind of __glxHashFlush() function that removed the table's contents without deleting the hash table itself.)
Cheers, Chris --- a/src/glx/x11/glxcmds.c +++ b/src/glx/x11/glxcmds.c @@ -104,6 +104,8 @@ static void GarbageCollectDRIDrawables(Display *dpy, __GLXsc Xfree(pdraw); } } while (__glxHashNext(sc->drawHash, &draw, (void *)&pdraw) == 1); + __glxHashDestroy(sc->drawHash); + sc->drawHash = __glxHashCreate(); } XSync(dpy, GL_FALSE); ___________________________________________________________ Yahoo! Answers - Got a question? Someone out there knows the answer. Try it now. http://uk.answers.yahoo.com/ ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev