From 026af56dbab78fc7fae7e825beca06136bcbcb0b Mon Sep 17 00:00:00 2001 From: Sven Baars Date: Sat, 25 May 2019 13:59:50 +0200 Subject: [PATCH] d3dx9: Always free samplers (Valgrind). Signed-off-by: Sven Baars Signed-off-by: Matteo Bruni Signed-off-by: Alexandre Julliard (cherry picked from commit 7dc42119b40ad39165d881dd8d0e410d3e84fe5a) Signed-off-by: Michael Stefaniuc --- dlls/d3dx9_36/effect.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c index 8bc9ba8f5ec..5ebc0c261da 100644 --- a/dlls/d3dx9_36/effect.c +++ b/dlls/d3dx9_36/effect.c @@ -530,6 +530,7 @@ static void free_sampler(struct d3dx_sampler *sampler) free_state(&sampler->states[i]); } HeapFree(GetProcessHeap(), 0, sampler->states); + HeapFree(GetProcessHeap(), 0, sampler); } static void d3dx_pool_release_shared_parameter(struct d3dx_top_level_parameter *param); @@ -562,7 +563,7 @@ static void free_parameter_data(struct d3dx_parameter *param, BOOL child) case D3DXPT_SAMPLER3D: case D3DXPT_SAMPLERCUBE: free_sampler((struct d3dx_sampler *)param->data); - break; + return; default: FIXME("Unhandled type %s\n", debug_d3dxparameter_type(param->type));