[PATCH 1/2] d3dx9: Release the full parameter name when a parameter is released (Valgrind).
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> --- dlls/d3dx9_36/effect.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c index a4bce690fb..4b6321b659 100644 --- a/dlls/d3dx9_36/effect.c +++ b/dlls/d3dx9_36/effect.c @@ -581,6 +581,9 @@ static void free_parameter(struct d3dx_parameter *param, BOOL element, BOOL chil HeapFree(GetProcessHeap(), 0, param->members); } + if (param->full_name) + heap_free(param->full_name); + free_parameter_data(param, child); /* only the parent has to release name and semantic */ -- 2.17.1
Signed-off-by: Sven Baars <sven.wine(a)gmail.com> --- 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 4b6321b659..310dc189bb 100644 --- a/dlls/d3dx9_36/effect.c +++ b/dlls/d3dx9_36/effect.c @@ -519,6 +519,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); @@ -551,7 +552,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)); -- 2.17.1
Signed-off-by: Matteo Bruni <mbruni(a)codeweavers.com>
participants (2)
-
Matteo Bruni -
Sven Baars