[PATCH 2/2] d3dx9: Always free samplers (Valgrind).

Sven Baars sven.wine at gmail.com
Sat May 25 06:59:50 CDT 2019


Signed-off-by: Sven Baars <sven.wine at 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




More information about the wine-devel mailing list