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