quartz: Fully disconnect the AsyncReader when released
Chris Robinson
chris.kcat at gmail.com
Mon Mar 19 15:48:20 CDT 2007
-------------- next part --------------
From f11c46e2cae0b5e1b77eb37fb70305657eee1711 Mon Sep 17 00:00:00 2001
From: Chris Robinson <chris.kcat at gmail.com>
Date: Mon, 19 Mar 2007 13:28:32 -0700
Subject: [PATCH] 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;
--
1.4.4.4
More information about the wine-patches
mailing list