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

Reply via email to