Stefan Dösinger : wined3d: Free the shader function when freeing the shader.

Alexandre Julliard julliard at winehq.org
Tue Nov 20 10:54:54 CST 2007


Module: wine
Branch: master
Commit: 7a97d4e2ec0ee9a77217203cd8b94fd162ebc0bc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=7a97d4e2ec0ee9a77217203cd8b94fd162ebc0bc

Author: Stefan Dösinger <stefan at 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;




More information about the wine-cvs mailing list