Mesa (master): rbug: Fix surface reference leak

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Tue Jan 25 00:03:30 UTC 2011


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

Author: Jakob Bornecrantz <jakob at vmware.com>
Date:   Thu Dec 16 05:33:46 2010 +0100

rbug: Fix surface reference leak

---

 src/gallium/drivers/rbug/rbug_objects.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/rbug/rbug_objects.c b/src/gallium/drivers/rbug/rbug_objects.c
index 7d7cc48..15f5db4 100644
--- a/src/gallium/drivers/rbug/rbug_objects.c
+++ b/src/gallium/drivers/rbug/rbug_objects.c
@@ -98,8 +98,9 @@ rbug_surface_create(struct rbug_context *rb_context,
 
    pipe_reference_init(&rb_surface->base.reference, 1);
    rb_surface->base.texture = NULL;
+   rb_surface->base.context = &rb_context->base;
+   rb_surface->surface = surface; /* we own the surface already */
    pipe_resource_reference(&rb_surface->base.texture, &rb_resource->base);
-   rb_surface->surface = surface;
 
    return &rb_surface->base;
 
@@ -113,8 +114,7 @@ rbug_surface_destroy(struct rbug_context *rb_context,
                      struct rbug_surface *rb_surface)
 {
    pipe_resource_reference(&rb_surface->base.texture, NULL);
-   rb_context->pipe->surface_destroy(rb_context->pipe,
-                                     rb_surface->surface);
+   pipe_surface_reference(&rb_surface->surface, NULL);
    FREE(rb_surface);
 }
 




More information about the mesa-commit mailing list