qcap: Destroy BaseFilter after VfwCapture child class.

This commit is contained in:
Thomas Faber 2014-07-19 10:38:26 +02:00 committed by Alexandre Julliard
parent 13fe9147b3
commit 5cbc081a1f

View File

@ -203,7 +203,7 @@ static HRESULT WINAPI VfwCapture_QueryInterface(IBaseFilter * iface, REFIID riid
static ULONG WINAPI VfwCapture_Release(IBaseFilter * iface) static ULONG WINAPI VfwCapture_Release(IBaseFilter * iface)
{ {
VfwCapture *This = (VfwCapture *)iface; VfwCapture *This = (VfwCapture *)iface;
ULONG refCount = BaseFilterImpl_Release(iface); ULONG refCount = InterlockedDecrement(&This->filter.refCount);
TRACE("%p->() New refcount: %d\n", This, refCount); TRACE("%p->() New refcount: %d\n", This, refCount);
@ -225,6 +225,7 @@ static ULONG WINAPI VfwCapture_Release(IBaseFilter * iface)
IPin_Disconnect(This->pOutputPin); IPin_Disconnect(This->pOutputPin);
} }
IPin_Release(This->pOutputPin); IPin_Release(This->pOutputPin);
BaseFilter_Destroy(&This->filter);
CoTaskMemFree(This); CoTaskMemFree(This);
ObjectRefCount(FALSE); ObjectRefCount(FALSE);
} }