From b5b26c204f9905d8c2c41817691d1b275d6f9659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zef=20Kucia?= Date: Thu, 2 Mar 2017 09:44:29 +0100 Subject: [PATCH] wined3d: Don't leak texture in wined3d_unordered_access_view_destroy_object(). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Józef Kucia Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- 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 a74a2ea6198..a8e69fc6f2f 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)