[PATCH 4/5] strmbase: Return void from BaseFilter_Init().

Zebediah Figura z.figura12 at gmail.com
Tue May 14 19:41:59 CDT 2019


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/qcap/audiorecord.c | 18 +++++-------------
 dlls/strmbase/filter.c  |  5 ++---
 include/wine/strmbase.h |  3 ++-
 3 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/dlls/qcap/audiorecord.c b/dlls/qcap/audiorecord.c
index 8fad7f75a8..12b62a4a81 100644
--- a/dlls/qcap/audiorecord.c
+++ b/dlls/qcap/audiorecord.c
@@ -254,15 +254,14 @@ static const IPersistPropertyBagVtbl PersistPropertyBagVtbl =
 
 IUnknown* WINAPI QCAP_createAudioCaptureFilter(IUnknown *outer, HRESULT *phr)
 {
-    HRESULT hr;
     AudioRecord *This = NULL;
 
     FIXME("(%p, %p): the entire CLSID_AudioRecord implementation is just stubs\n", outer, phr);
 
     This = CoTaskMemAlloc(sizeof(*This));
     if (This == NULL) {
-        hr = E_OUTOFMEMORY;
-        goto end;
+        *phr = E_OUTOFMEMORY;
+        return NULL;
     }
     memset(This, 0, sizeof(*This));
     This->IUnknown_iface.lpVtbl = &UnknownVtbl;
@@ -272,16 +271,9 @@ IUnknown* WINAPI QCAP_createAudioCaptureFilter(IUnknown *outer, HRESULT *phr)
     else
         This->outerUnknown = &This->IUnknown_iface;
 
-    hr = BaseFilter_Init(&This->filter, &AudioRecordVtbl, &CLSID_AudioRecord,
+    BaseFilter_Init(&This->filter, &AudioRecordVtbl, &CLSID_AudioRecord,
             (DWORD_PTR)(__FILE__ ": AudioRecord.csFilter"), &AudioRecordFuncs);
 
-end:
-    *phr = hr;
-    if (SUCCEEDED(hr)) {
-        return (IUnknown*)&This->filter.IBaseFilter_iface;
-    } else {
-        if (This)
-            IBaseFilter_Release(&This->filter.IBaseFilter_iface);
-        return NULL;
-    }
+    *phr = S_OK;
+    return (IUnknown*)&This->filter.IBaseFilter_iface;
 }
diff --git a/dlls/strmbase/filter.c b/dlls/strmbase/filter.c
index 44e0188ce0..3a39ec4e06 100644
--- a/dlls/strmbase/filter.c
+++ b/dlls/strmbase/filter.c
@@ -210,7 +210,8 @@ VOID WINAPI BaseFilterImpl_IncrementPinVersion(BaseFilter *filter)
     InterlockedIncrement(&filter->pin_version);
 }
 
-HRESULT WINAPI BaseFilter_Init(BaseFilter * This, const IBaseFilterVtbl *Vtbl, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseFilterFuncTable* pBaseFuncsTable)
+void BaseFilter_Init(BaseFilter *This, const IBaseFilterVtbl *Vtbl, const CLSID *pClsid,
+        DWORD_PTR DebugInfo, const BaseFilterFuncTable *pBaseFuncsTable)
 {
     This->IBaseFilter_iface.lpVtbl = Vtbl;
     This->refCount = 1;
@@ -224,8 +225,6 @@ HRESULT WINAPI BaseFilter_Init(BaseFilter * This, const IBaseFilterVtbl *Vtbl, c
     This->pin_version = 1;
 
     This->pFuncsTable = pBaseFuncsTable;
-
-    return S_OK;
 }
 
 HRESULT WINAPI BaseFilter_Destroy(BaseFilter * This)
diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h
index 4e0d190332..eb0bfbfb79 100644
--- a/include/wine/strmbase.h
+++ b/include/wine/strmbase.h
@@ -190,7 +190,8 @@ HRESULT WINAPI BaseFilterImpl_QueryVendorInfo(IBaseFilter * iface, LPWSTR *pVend
 
 VOID WINAPI BaseFilterImpl_IncrementPinVersion(BaseFilter* This);
 
-HRESULT WINAPI BaseFilter_Init(BaseFilter * This, const IBaseFilterVtbl *Vtbl, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseFilterFuncTable* pBaseFuncsTable);
+void BaseFilter_Init(BaseFilter *filter, const IBaseFilterVtbl *vtbl,
+        const CLSID *clsid, DWORD_PTR debug_info, const BaseFilterFuncTable *func_table);
 HRESULT WINAPI BaseFilter_Destroy(BaseFilter * This);
 
 /* Enums */
-- 
2.21.0




More information about the wine-devel mailing list