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