Module: Mesa
Branch: gallium-st-api
Commit: 495bfb0ad2e60638e7b2e94f36f0079e3f450091
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=495bfb0ad2e60638e7b2e94f36f0079e3f450091

Author: Chia-I Wu <[email protected]>
Date:   Sat Mar 13 00:52:47 2010 +0800

st/glx: Fix leaks in xmesa_st_framebuffer.

The textures and surface of a framebuffer should be unreferenced when
the framebuffer is destroyed.

---

 src/gallium/state_trackers/glx/xlib/xm_st.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/glx/xlib/xm_st.c 
b/src/gallium/state_trackers/glx/xlib/xm_st.c
index 3b5f78e..d462776 100644
--- a/src/gallium/state_trackers/glx/xlib/xm_st.c
+++ b/src/gallium/state_trackers/glx/xlib/xm_st.c
@@ -225,6 +225,12 @@ void
 xmesa_destroy_st_framebuffer(struct st_framebuffer_iface *stfbi)
 {
    struct xmesa_st_framebuffer *xstfb = xmesa_st_framebuffer(stfbi);
+   int i;
+
+   pipe_surface_reference(&xstfb->display_surface, NULL);
+
+   for (i = 0; i < ST_ATTACHMENT_COUNT; i++)
+      pipe_texture_reference(&xstfb->textures[i], NULL);
 
    FREE(xstfb);
    FREE(stfbi);

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to