wined3d: Fix a memory leak

Henri Verbeet hverbeet at codeweavers.com
Thu Sep 18 07:57:54 CDT 2008


---
 dlls/wined3d/device.c            |    2 +-
 dlls/wined3d/vertexdeclaration.c |    1 -
 2 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 6a12b93..ff16f60 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -1718,8 +1718,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl_CreateVertexDeclaration(IWineD3DDevice*
 
     hr = IWineD3DVertexDeclaration_SetDeclaration((IWineD3DVertexDeclaration *)object, elements, element_count);
     if(FAILED(hr)) {
+        IWineD3DVertexDeclaration_Release((IWineD3DVertexDeclaration *)object);
         *ppVertexDeclaration = NULL;
-        HeapFree(GetProcessHeap(), 0, object);
     }
 
     return hr;
diff --git a/dlls/wined3d/vertexdeclaration.c b/dlls/wined3d/vertexdeclaration.c
index 936ef57..7b57e55 100644
--- a/dlls/wined3d/vertexdeclaration.c
+++ b/dlls/wined3d/vertexdeclaration.c
@@ -167,7 +167,6 @@ static HRESULT WINAPI IWineD3DVertexDeclarationImpl_SetDeclaration(IWineD3DVerte
 
         if(This->pDeclarationWine[i].Offset & 0x3) {
             WARN("Declaration element %d is not 4 byte aligned(%d), returning E_FAIL\n", i, This->pDeclarationWine[i].Offset);
-            HeapFree(GetProcessHeap(), 0, This->pDeclarationWine);
             return E_FAIL;
         }
 
-- 
1.5.6.4



--------------020408090607060002080306--



More information about the wine-patches mailing list