From c950be52dd82202623c075157777f50cbbb594fe Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Thu, 13 Mar 2008 21:47:14 -0700 Subject: [PATCH] quartz: Destroy the filtergraph better in release --- dlls/quartz/filtergraph.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c index 747f88d..7f92562 100644 --- a/dlls/quartz/filtergraph.c +++ b/dlls/quartz/filtergraph.c @@ -282,15 +282,13 @@ static ULONG WINAPI FilterGraphInner_Release(IUnknown * iface) { if (ref == 0) { int i; + IMediaControl_Stop((IMediaControl*)&(This->IMediaControl_vtbl)); if (This->refClock) IReferenceClock_Release(This->refClock); - for (i = 0; i < This->nFilters; i++) - { - IBaseFilter_SetSyncSource(This->ppFiltersInGraph[i], NULL); - IBaseFilter_Release(This->ppFiltersInGraph[i]); - CoTaskMemFree(This->pFilterNames[i]); - } + while (This->nFilters) + IFilterGraph2_RemoveFilter((IFilterGraph2*)This, This->ppFiltersInGraph[0]); + for (i = 0; i < This->nItfCacheEntries; i++) { if (This->ItfCacheEntries[i].iface) -- 1.5.4.1