Rico Schüller : d3dx9: Introduce free_constant_table() .
Module: wine Branch: master Commit: 4a6e06d7bbf3228f91f117f8d61cfa82917ffc01 URL: http://source.winehq.org/git/wine.git/?a=commit;h=4a6e06d7bbf3228f91f117f8d6... Author: Rico Schüller <kgbricola(a)web.de> Date: Sun Jan 22 11:28:52 2012 +0100 d3dx9: Introduce free_constant_table(). --- dlls/d3dx9_36/shader.c | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/dlls/d3dx9_36/shader.c b/dlls/d3dx9_36/shader.c index fd7e6b7..9a9d77c 100644 --- a/dlls/d3dx9_36/shader.c +++ b/dlls/d3dx9_36/shader.c @@ -632,6 +632,12 @@ typedef struct ID3DXConstantTableImpl { ctab_constant *constants; } ID3DXConstantTableImpl; +static void free_constant_table(struct ID3DXConstantTableImpl *table) +{ + HeapFree(GetProcessHeap(), 0, table->constants); + HeapFree(GetProcessHeap(), 0, table->ctab); +} + static inline ID3DXConstantTableImpl *impl_from_ID3DXConstantTable(ID3DXConstantTable *iface) { return CONTAINING_RECORD(iface, ID3DXConstantTableImpl, ID3DXConstantTable_iface); @@ -681,7 +687,7 @@ static ULONG WINAPI ID3DXConstantTableImpl_AddRef(ID3DXConstantTable* iface) return InterlockedIncrement(&This->ref); } -static ULONG WINAPI ID3DXConstantTableImpl_Release(ID3DXConstantTable* iface) +static ULONG WINAPI ID3DXConstantTableImpl_Release(ID3DXConstantTable *iface) { ID3DXConstantTableImpl *This = impl_from_ID3DXConstantTable(iface); ULONG ref = InterlockedDecrement(&This->ref); @@ -690,8 +696,7 @@ static ULONG WINAPI ID3DXConstantTableImpl_Release(ID3DXConstantTable* iface) if (!ref) { - HeapFree(GetProcessHeap(), 0, This->constants); - HeapFree(GetProcessHeap(), 0, This->ctab); + free_constant_table(This); HeapFree(GetProcessHeap(), 0, This); } @@ -1258,8 +1263,7 @@ HRESULT WINAPI D3DXGetShaderConstantTableEx(CONST DWORD* byte_code, error: - HeapFree(GetProcessHeap(), 0, object->constants); - HeapFree(GetProcessHeap(), 0, object->ctab); + free_constant_table(object); HeapFree(GetProcessHeap(), 0, object); return hr;
participants (1)
-
Alexandre Julliard