Henri Verbeet : wined3d: Introduce volumetexture_cleanup().

Alexandre Julliard julliard at winehq.org
Wed Jun 3 09:31:15 CDT 2009


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed Jun  3 10:47:26 2009 +0200

wined3d: Introduce volumetexture_cleanup().

---

 dlls/wined3d/volumetexture.c |   33 +++++++++++++++++++++++----------
 1 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/dlls/wined3d/volumetexture.c b/dlls/wined3d/volumetexture.c
index 680df93..6b30f3a 100644
--- a/dlls/wined3d/volumetexture.c
+++ b/dlls/wined3d/volumetexture.c
@@ -26,6 +26,26 @@
 WINE_DEFAULT_DEBUG_CHANNEL(d3d_texture);
 #define GLINFO_LOCATION This->resource.wineD3DDevice->adapter->gl_info
 
+static void volumetexture_cleanup(IWineD3DVolumeTextureImpl *This, D3DCB_DESTROYVOLUMEFN volume_destroy_cb)
+{
+    unsigned int i;
+
+    TRACE("(%p) : Cleaning up.\n", This);
+
+    for (i = 0; i < This->baseTexture.levels; ++i)
+    {
+        IWineD3DVolume *volume = This->volumes[i];
+
+        if (volume)
+        {
+            /* Cleanup the container. */
+            IWineD3DVolume_SetContainer(volume, NULL);
+            volume_destroy_cb(volume);
+        }
+    }
+    basetexture_cleanup((IWineD3DBaseTexture *)This);
+}
+
 /* *******************************************
    IWineD3DTexture IUnknown parts follow
    ******************************************* */
@@ -216,16 +236,9 @@ static BOOL WINAPI IWineD3DVolumeTextureImpl_IsCondNP2(IWineD3DVolumeTexture *if
    ******************************************* */
 static void WINAPI IWineD3DVolumeTextureImpl_Destroy(IWineD3DVolumeTexture *iface, D3DCB_DESTROYVOLUMEFN D3DCB_DestroyVolume) {
     IWineD3DVolumeTextureImpl *This = (IWineD3DVolumeTextureImpl *)iface;
-    unsigned int i;
-    TRACE("(%p) : Cleaning up\n",This);
-    for (i = 0; i < This->baseTexture.levels; i++) {
-        if (This->volumes[i] != NULL) {
-            /* Cleanup the container */
-            IWineD3DVolume_SetContainer(This->volumes[i], 0);
-            D3DCB_DestroyVolume(This->volumes[i]);
-        }
-    }
-    basetexture_cleanup((IWineD3DBaseTexture *)iface);
+
+    volumetexture_cleanup(This, D3DCB_DestroyVolume);
+
     HeapFree(GetProcessHeap(), 0, This);
 }
 




More information about the wine-cvs mailing list