From: Paul Gofman gofmanp@gmail.com
Signed-off-by: Paul Gofman gofmanp@gmail.com Signed-off-by: Matteo Bruni mbruni@codeweavers.com --- dlls/d3dx9_36/effect.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c index ad81cb68cb2..eefd14aafa4 100644 --- a/dlls/d3dx9_36/effect.c +++ b/dlls/d3dx9_36/effect.c @@ -516,8 +516,7 @@ static void free_sampler(struct d3dx_sampler *sampler) { free_state(&sampler->states[i]); } - HeapFree(GetProcessHeap(), 0, sampler->states); - HeapFree(GetProcessHeap(), 0, sampler); + heap_free(sampler->states); }
static void d3dx_pool_release_shared_parameter(struct d3dx_top_level_parameter *param); @@ -531,7 +530,7 @@ static void free_parameter_data(struct d3dx_parameter *param, BOOL child) switch (param->type) { case D3DXPT_STRING: - HeapFree(GetProcessHeap(), 0, *(char **)param->data); + heap_free(*(char **)param->data); break;
case D3DXPT_TEXTURE: @@ -557,8 +556,8 @@ static void free_parameter_data(struct d3dx_parameter *param, BOOL child) break; } } - if (!child) - HeapFree(GetProcessHeap(), 0, param->data); + if (!child || is_param_type_sampler(param->type)) + heap_free(param->data); }
static void free_parameter(struct d3dx_parameter *param, BOOL element, BOOL child)