Henri Verbeet : wined3d: Fix a memory leak.

Alexandre Julliard julliard at winehq.org
Mon Sep 22 07:04:49 CDT 2008


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Sep 18 14:57:54 2008 +0200

wined3d: Fix a memory leak.

---

 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;
         }
 




More information about the wine-cvs mailing list