diff options
author | Nicolai Hähnle <nhaehnle@gmail.com> | 2009-10-03 17:56:51 +0200 |
---|---|---|
committer | Nicolai Hähnle <nhaehnle@gmail.com> | 2009-10-03 18:07:34 +0200 |
commit | 59b20b760d63dad15d4d62a43bae8b7e26085c79 (patch) | |
tree | 5f39573cb6126cece0882933afbb3dcc893acbc8 /src | |
parent | aa6aa77a1be91022933975dbccf8f2aabc584baa (diff) |
r300g: Fix memory leak in radeon_texture_from_shared_handle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/winsys/drm/radeon/core/radeon_drm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/winsys/drm/radeon/core/radeon_drm.c b/src/gallium/winsys/drm/radeon/core/radeon_drm.c index a4011db0b8..caab33de1c 100644 --- a/src/gallium/winsys/drm/radeon/core/radeon_drm.c +++ b/src/gallium/winsys/drm/radeon/core/radeon_drm.c @@ -107,13 +107,18 @@ radeon_texture_from_shared_handle(struct drm_api *api, unsigned handle) { struct pipe_buffer *buffer; + struct pipe_texture *blanket; buffer = radeon_buffer_from_handle(api, screen, name, handle); if (!buffer) { return NULL; } - return screen->texture_blanket(screen, templ, &stride, buffer); + blanket = screen->texture_blanket(screen, templ, &stride, buffer); + + pipe_buffer_reference(&buffer, NULL); + + return blanket; } static boolean radeon_shared_handle_from_texture(struct drm_api *api, |