Module: wine Branch: master Commit: 3487da71cee4de6a8c3fbd406cea730e14fea59f URL: http://source.winehq.org/git/wine.git/?a=commit;h=3487da71cee4de6a8c3fbd406c...
Author: Chris Robinson chris.kcat@gmail.com Date: Mon Mar 19 13:28:32 2007 -0700
quartz: Fully disconnect the AsyncReader when released.
---
dlls/quartz/filesource.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c index 22209f5..6e5db5e 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;