Module: wine Branch: master Commit: 85f4fda840ff7a2bec3bf9112f76a60271d88be7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=85f4fda840ff7a2bec3bf9112f...
Author: Christian Costa titan.costa@gmail.com Date: Fri Jun 8 15:38:51 2012 +0200
d3drm: Free all mesh resources when releasing mesh object.
---
dlls/d3drm/meshbuilder.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/dlls/d3drm/meshbuilder.c b/dlls/d3drm/meshbuilder.c index 043f395..c545e69 100644 --- a/dlls/d3drm/meshbuilder.c +++ b/dlls/d3drm/meshbuilder.c @@ -2491,7 +2491,14 @@ static ULONG WINAPI IDirect3DRMMeshImpl_Release(IDirect3DRMMesh* iface) int i;
for (i = 0; i < This->nb_groups; i++) + { HeapFree(GetProcessHeap(), 0, This->groups[i].vertices); + HeapFree(GetProcessHeap(), 0, This->groups[i].face_data); + if (This->groups[i].material) + IDirect3DRMMaterial2_Release(This->groups[i].material); + if (This->groups[i].texture) + IDirect3DRMTexture3_Release(This->groups[i].texture); + } HeapFree(GetProcessHeap(), 0, This->groups); HeapFree(GetProcessHeap(), 0, This); }