Module: wine Branch: refs/heads/master Commit: bac34c35aaa4160939bc5bb3cd801636ab8f5187 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=bac34c35aaa4160939bc5bb3...
Author: H. Verbeet hverbeet@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); }