Michael Stefaniuc : strmbase: Return the iface instead of the object pointer.

Alexandre Julliard julliard at winehq.org
Thu Feb 20 10:08:10 CST 2014


Module: wine
Branch: master
Commit: 974e5af3fe316161a2fa25aa65571c5ffcb305c9
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=974e5af3fe316161a2fa25aa65571c5ffcb305c9

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Thu Feb 20 00:10:51 2014 +0100

strmbase: Return the iface instead of the object pointer.

---

 dlls/strmbase/filter.c |   16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/dlls/strmbase/filter.c b/dlls/strmbase/filter.c
index 67f7c9f..e2cf807 100644
--- a/dlls/strmbase/filter.c
+++ b/dlls/strmbase/filter.c
@@ -36,23 +36,15 @@ static inline BaseFilter *impl_from_IBaseFilter(IBaseFilter *iface)
 
 HRESULT WINAPI BaseFilterImpl_QueryInterface(IBaseFilter * iface, REFIID riid, LPVOID * ppv)
 {
-    BaseFilter *This = impl_from_IBaseFilter(iface);
     TRACE("(%p)->(%s, %p)\n", iface, debugstr_guid(riid), ppv);
 
     *ppv = NULL;
 
-    if (IsEqualIID(riid, &IID_IUnknown))
-        *ppv = This;
-    else if (IsEqualIID(riid, &IID_IPersist))
-        *ppv = This;
-    else if (IsEqualIID(riid, &IID_IMediaFilter))
-        *ppv = This;
-    else if (IsEqualIID(riid, &IID_IBaseFilter))
-        *ppv = This;
-
-    if (*ppv)
+    if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IPersist) ||
+        IsEqualIID(riid, &IID_IMediaFilter) || IsEqualIID(riid, &IID_IBaseFilter))
     {
-        IUnknown_AddRef((IUnknown *)(*ppv));
+        *ppv = iface;
+        IBaseFilter_AddRef(iface);
         return S_OK;
     }
 




More information about the wine-cvs mailing list