From 3487da71cee4de6a8c3fbd406cea730e14fea59f Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Mon, 19 Mar 2007 13:28:32 -0700 Subject: [PATCH] quartz: Fully disconnect the AsyncReader when released. --- dlls/quartz/filesource.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c index 22209f5e62..6e5db5efb4 100644 --- a/dlls/quartz/filesource.c +++ b/dlls/quartz/filesource.c @@ -378,7 +378,16 @@ static ULONG WINAPI AsyncReader_Release(IBaseFilter * iface) if (!refCount) { if (This->pOutputPin) + { + IPin *pConnectedTo; + if(SUCCEEDED(IPin_ConnectedTo(This->pOutputPin, &pConnectedTo))) + { + IPin_Disconnect(pConnectedTo); + IPin_Release(pConnectedTo); + } + IPin_Disconnect(This->pOutputPin); IPin_Release(This->pOutputPin); + } This->csFilter.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&This->csFilter); This->lpVtbl = NULL;