driDestroyDisplay: Remove Drivers list entry when dlclosing its handle.
authorMichel Dänzer <michel@tungstengraphics.com>
Thu, 1 Feb 2007 09:43:10 +0000 (10:43 +0100)
committerMichel Dänzer <michel@tungstengraphics.com>
Thu, 1 Feb 2007 09:43:10 +0000 (10:43 +0100)
commitbed026e7dda14ac1c555f1fb16d70eadcd1a01fc
tree5624ad4de8140ec03b121e126d3c22ceebba8f9b
parenta2104dc6e18879ed3ba2108a09b6779e461eaa17
driDestroyDisplay: Remove Drivers list entry when dlclosing its handle.

This fixes a regression from commit f81b1dbe374fe446f6ef676e70a72952ffb47d4e:
Since then, driDestroyDisplay gets called from __glXFreeDisplayPrivate. It
dlcloses the handles associated with the display but fails to remove their
references from the Drivers list, so subsequent calls to OpenDriver return a
stale handle and an invalid createNewScreenFunc pointer. The attempt to call
the latter results in a segfault when running amoeba, e.g.
src/glx/x11/dri_glx.c