Chris Robinson : quartz: Fully disconnect the AsyncReader when
released.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Mar 21 08:17:09 CDT 2007
Module: wine
Branch: master
Commit: 3487da71cee4de6a8c3fbd406cea730e14fea59f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3487da71cee4de6a8c3fbd406cea730e14fea59f
Author: Chris Robinson <chris.kcat at 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;
More information about the wine-cvs
mailing list