diff options
Diffstat (limited to 'common/DSUtilLite/BaseDSPropPage.cpp')
-rw-r--r-- | common/DSUtilLite/BaseDSPropPage.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/common/DSUtilLite/BaseDSPropPage.cpp b/common/DSUtilLite/BaseDSPropPage.cpp index c4e7c796..49fb2f27 100644 --- a/common/DSUtilLite/BaseDSPropPage.cpp +++ b/common/DSUtilLite/BaseDSPropPage.cpp @@ -77,6 +77,9 @@ HRESULT CBaseDSPropPage::ShowPropPageDialog(IBaseFilter *pFilter, HWND hwndOwner // Get the filter's name and IUnknown pointer. FILTER_INFO FilterInfo; hr = pFilter->QueryFilterInfo(&FilterInfo); + // We don't need the graph, so don't sit on a ref to it + if (FilterInfo.pGraph) + FilterInfo.pGraph->Release(); IUnknown *pFilterUnk = NULL; pFilter->QueryInterface<IUnknown>(&pFilterUnk); @@ -99,8 +102,6 @@ HRESULT CBaseDSPropPage::ShowPropPageDialog(IBaseFilter *pFilter, HWND hwndOwner // Clean up. pFilterUnk->Release(); - if (FilterInfo.pGraph) - FilterInfo.pGraph->Release(); CoTaskMemFree(caGUID.pElems); hr = S_OK; |