H. Verbeet : wined3d: Release the container during surface / volume cleanup .

Alexandre Julliard julliard at wine.codeweavers.com
Fri Feb 10 08:55:02 CST 2006


Module: wine
Branch: refs/heads/master
Commit: bac34c35aaa4160939bc5bb3cd801636ab8f5187
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=bac34c35aaa4160939bc5bb3cd801636ab8f5187

Author: H. Verbeet <hverbeet at gmail.com>
Date:   Fri Feb 10 14:52:20 2006 +0100

wined3d: Release the container during surface / volume cleanup.

---

 dlls/wined3d/surface.c |    3 +++
 dlls/wined3d/volume.c  |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 722816a..ab25c96 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -69,6 +69,9 @@ ULONG WINAPI IWineD3DSurfaceImpl_Release
             glDeleteTextures(1, &This->glDescription.textureName);
             LEAVE_GL();
         }
+        if (This->container) {
+            IWineD3DBase_Release(This->container);
+        }
         IWineD3DResourceImpl_CleanUp((IWineD3DResource *)iface);
 
         TRACE("(%p) Released\n", This);
diff --git a/dlls/wined3d/volume.c b/dlls/wined3d/volume.c
index 3108662..0c367bc 100644
--- a/dlls/wined3d/volume.c
+++ b/dlls/wined3d/volume.c
@@ -55,6 +55,9 @@ ULONG WINAPI IWineD3DVolumeImpl_Release(
     TRACE("(%p) : Releasing from %ld\n", This, This->resource.ref);
     ref = InterlockedDecrement(&This->resource.ref);
     if (ref == 0) {
+        if (This->container) {
+            IWineD3DBase_Release(This->container);
+        }
         IWineD3DResourceImpl_CleanUp((IWineD3DResource *)iface);
         HeapFree(GetProcessHeap(), 0, This);
     }




More information about the wine-cvs mailing list