Module: wine Branch: master Commit: 7a97d4e2ec0ee9a77217203cd8b94fd162ebc0bc URL: http://source.winehq.org/git/wine.git/?a=commit;h=7a97d4e2ec0ee9a77217203cd8...
Author: Stefan Dösinger stefan@codeweavers.com Date: Fri Nov 16 21:02:29 2007 +0100
wined3d: Free the shader function when freeing the shader.
---
dlls/wined3d/baseshader.c | 1 + dlls/wined3d/wined3d_private.h | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c index ff78a49..35d8d32 100644 --- a/dlls/wined3d/baseshader.c +++ b/dlls/wined3d/baseshader.c @@ -1119,6 +1119,7 @@ ULONG WINAPI IWineD3DBaseShaderImpl_Release(IWineD3DBaseShader *iface) { TRACE("(%p) : Releasing from %d\n", This, This->baseShader.ref); ref = InterlockedDecrement(&This->baseShader.ref); if (ref == 0) { + HeapFree(GetProcessHeap(), 0, This->baseShader.function); shader_delete_constant_list(&This->baseShader.constantsF); shader_delete_constant_list(&This->baseShader.constantsB); shader_delete_constant_list(&This->baseShader.constantsI); diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 62fb834..dbcff48 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -1884,7 +1884,7 @@ typedef struct IWineD3DBaseShaderClass SHADER_LIMITS limits; SHADER_PARSE_STATE parse_state; CONST SHADER_OPCODE *shader_ins; - CONST DWORD *function; + DWORD *function; UINT functionLength; GLuint prgId; BOOL is_compiled;