st/xlib: Don't destroy screen on XCloseDisplay()

screen may still be used by other resources that are not yet freed.
To correctly fix this there will be a need to account for resources
differently, but this quick fix is not any worse than the original
code that leaked screens anyway.

Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
George Kyriazis 2016-03-04 12:26:00 -07:00 committed by Brian Paul
parent 1f862e923c
commit feb71117ae

View file

@ -174,9 +174,13 @@ xmesa_close_display(Display *display)
/* don't forget to clean up mesaDisplay */
XMesaDisplay xmdpy = &info->mesaDisplay;
if (xmdpy->screen) {
xmdpy->screen->destroy(xmdpy->screen);
}
/**
* XXX: Don't destroy the screens here, since there may still
* be some dangling screen pointers that are used after this point
* if (xmdpy->screen) {
* xmdpy->screen->destroy(xmdpy->screen);
* }
*/
free(xmdpy->smapi);
XFree((char *) info);