Module: Mesa
Branch: master
Commit: feb71117aebc0932a96b548b4c402b010a008b2d
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=feb71117aebc0932a96b548b4c402b010a008b2d

Author: George Kyriazis <george.kyria...@intel.com>
Date:   Fri Mar  4 12:26:00 2016 -0700

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 <bri...@vmware.com>

---

 src/gallium/state_trackers/glx/xlib/xm_api.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c 
b/src/gallium/state_trackers/glx/xlib/xm_api.c
index cee4f18..5799cce 100644
--- a/src/gallium/state_trackers/glx/xlib/xm_api.c
+++ b/src/gallium/state_trackers/glx/xlib/xm_api.c
@@ -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);

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to