[PATCH] strmbase: Clear the debug info before calling DeleteCriticalSection (Valgrind).

Zebediah Figura z.figura12 at gmail.com
Sat Jun 6 16:03:13 CDT 2020


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/strmbase/filter.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/dlls/strmbase/filter.c b/dlls/strmbase/filter.c
index 2809832ee8..8b8182a13a 100644
--- a/dlls/strmbase/filter.c
+++ b/dlls/strmbase/filter.c
@@ -532,11 +532,13 @@ void strmbase_filter_init(struct strmbase_filter *filter, IUnknown *outer,
     filter->ops = ops;
 }
 
-void strmbase_filter_cleanup(struct strmbase_filter *This)
+void strmbase_filter_cleanup(struct strmbase_filter *filter)
 {
-    if (This->clock)
-        IReferenceClock_Release(This->clock);
+    if (filter->clock)
+        IReferenceClock_Release(filter->clock);
 
-    This->IBaseFilter_iface.lpVtbl = NULL;
-    DeleteCriticalSection(&This->csFilter);
+    filter->IBaseFilter_iface.lpVtbl = NULL;
+    if (filter->csFilter.DebugInfo != (RTL_CRITICAL_SECTION_DEBUG *)-1)
+        filter->csFilter.DebugInfo->Spare[0] = 0;
+    DeleteCriticalSection(&filter->csFilter);
 }
-- 
2.27.0




More information about the wine-devel mailing list