Module: wine Branch: master Commit: b5b26c204f9905d8c2c41817691d1b275d6f9659 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b5b26c204f9905d8c2c4181769...
Author: Józef Kucia jkucia@codeweavers.com Date: Thu Mar 2 09:44:29 2017 +0100
wined3d: Don't leak texture in wined3d_unordered_access_view_destroy_object().
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/view.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/view.c b/dlls/wined3d/view.c index a74a2ea..a8e69fc 100644 --- a/dlls/wined3d/view.c +++ b/dlls/wined3d/view.c @@ -673,7 +673,21 @@ ULONG CDECL wined3d_unordered_access_view_incref(struct wined3d_unordered_access
static void wined3d_unordered_access_view_destroy_object(void *object) { - HeapFree(GetProcessHeap(), 0, object); + struct wined3d_unordered_access_view *view = object; + + if (view->gl_view.name) + { + const struct wined3d_gl_info *gl_info; + struct wined3d_context *context; + + context = context_acquire(view->resource->device, NULL, 0); + gl_info = context->gl_info; + gl_info->gl_ops.gl.p_glDeleteTextures(1, &view->gl_view.name); + checkGLcall("glDeleteTextures"); + context_release(context); + } + + HeapFree(GetProcessHeap(), 0, view); }
ULONG CDECL wined3d_unordered_access_view_decref(struct wined3d_unordered_access_view *view)