Nikolay Sivov : quartz: Minor cleanup of returned interface pointers.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Oct 21 10:39:58 CDT 2015


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Wed Oct 21 14:31:49 2015 +0300

quartz: Minor cleanup of returned interface pointers.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/quartz/avisplit.c    |  2 +-
 dlls/quartz/filesource.c  | 10 ++++------
 dlls/quartz/mpegsplit.c   |  2 +-
 dlls/quartz/parser.c      | 10 +++++-----
 dlls/quartz/systemclock.c |  2 +-
 dlls/quartz/vmr9.c        |  2 +-
 dlls/quartz/waveparser.c  |  2 +-
 7 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/dlls/quartz/avisplit.c b/dlls/quartz/avisplit.c
index d62ec2b..74529f2 100644
--- a/dlls/quartz/avisplit.c
+++ b/dlls/quartz/avisplit.c
@@ -1451,7 +1451,7 @@ HRESULT AVISplitter_create(IUnknown * pUnkOuter, LPVOID * ppv)
     if (FAILED(hr))
         return hr;
 
-    *ppv = This;
+    *ppv = &This->Parser.filter.IBaseFilter_iface;
 
     return hr;
 }
diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c
index 877c706..33ac442 100644
--- a/dlls/quartz/filesource.c
+++ b/dlls/quartz/filesource.c
@@ -810,20 +810,18 @@ static HRESULT WINAPI FileAsyncReaderPin_QueryInterface(IPin * iface, REFIID rii
 
     *ppv = NULL;
 
-    if (IsEqualIID(riid, &IID_IUnknown))
-        *ppv = This;
-    else if (IsEqualIID(riid, &IID_IPin))
-        *ppv = This;
+    if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IPin))
+        *ppv = &This->pin.pin.IPin_iface;
     else if (IsEqualIID(riid, &IID_IAsyncReader))
         *ppv = &This->IAsyncReader_iface;
 
     if (*ppv)
     {
-        IUnknown_AddRef((IUnknown *)(*ppv));
+        IUnknown_AddRef((IUnknown *)*ppv);
         return S_OK;
     }
 
-    if (!IsEqualIID(riid, &IID_IPin) && !IsEqualIID(riid, &IID_IMediaSeeking))
+    if (!IsEqualIID(riid, &IID_IMediaSeeking))
         FIXME("No interface for %s!\n", qzdebugstr_guid(riid));
 
     return E_NOINTERFACE;
diff --git a/dlls/quartz/mpegsplit.c b/dlls/quartz/mpegsplit.c
index 33a93ba..60dd82c 100644
--- a/dlls/quartz/mpegsplit.c
+++ b/dlls/quartz/mpegsplit.c
@@ -797,7 +797,7 @@ HRESULT MPEGSplitter_create(IUnknown * pUnkOuter, LPVOID * ppv)
     This->seek = TRUE;
 
     /* Note: This memory is managed by the parser filter once created */
-    *ppv = This;
+    *ppv = &This->Parser.filter.IBaseFilter_iface;
 
     return hr;
 }
diff --git a/dlls/quartz/parser.c b/dlls/quartz/parser.c
index cd8d93d..fd98787 100644
--- a/dlls/quartz/parser.c
+++ b/dlls/quartz/parser.c
@@ -147,11 +147,11 @@ HRESULT WINAPI Parser_QueryInterface(IBaseFilter * iface, REFIID riid, LPVOID *
       || IsEqualIID(riid, &IID_IPersist)
       || IsEqualIID(riid, &IID_IMediaFilter)
       || IsEqualIID(riid, &IID_IBaseFilter) )
-        *ppv = This;
+        *ppv = &This->filter.IBaseFilter_iface;
 
     if (*ppv)
     {
-        IUnknown_AddRef((IUnknown *)(*ppv));
+        IUnknown_AddRef((IUnknown *)*ppv);
         return S_OK;
     }
 
@@ -521,21 +521,21 @@ static HRESULT WINAPI Parser_Seeking_QueryInterface(IMediaSeeking * iface, REFII
 {
     ParserImpl *This = impl_from_IMediaSeeking(iface);
 
-    return IUnknown_QueryInterface((IUnknown *)This, riid, ppv);
+    return IBaseFilter_QueryInterface(&This->filter.IBaseFilter_iface, riid, ppv);
 }
 
 static ULONG WINAPI Parser_Seeking_AddRef(IMediaSeeking * iface)
 {
     ParserImpl *This = impl_from_IMediaSeeking(iface);
 
-    return IUnknown_AddRef((IUnknown *)This);
+    return IBaseFilter_AddRef(&This->filter.IBaseFilter_iface);
 }
 
 static ULONG WINAPI Parser_Seeking_Release(IMediaSeeking * iface)
 {
     ParserImpl *This = impl_from_IMediaSeeking(iface);
 
-    return IUnknown_Release((IUnknown *)This);
+    return IBaseFilter_Release(&This->filter.IBaseFilter_iface);
 }
 
 static const IMediaSeekingVtbl Parser_Seeking_Vtbl =
diff --git a/dlls/quartz/systemclock.c b/dlls/quartz/systemclock.c
index cdb06f7..a3e1504 100644
--- a/dlls/quartz/systemclock.c
+++ b/dlls/quartz/systemclock.c
@@ -215,7 +215,7 @@ static HRESULT WINAPI SystemClockImpl_QueryInterface(IReferenceClock* iface, REF
   if (IsEqualIID (riid, &IID_IUnknown) || 
       IsEqualIID (riid, &IID_IReferenceClock)) {
     SystemClockImpl_AddRef(iface);
-    *ppobj = This;
+    *ppobj = &This->IReferenceClock_iface;
     return S_OK;
   }
   
diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index c9a330d..10b9dff 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -3111,6 +3111,6 @@ static HRESULT VMR9DefaultAllocatorPresenterImpl_create(struct quartz_vmr *paren
     This->SurfaceAllocatorNotify = NULL;
     This->reset = FALSE;
 
-    *ppv = This;
+    *ppv = &This->IVMRImagePresenter9_iface;
     return S_OK;
 }
diff --git a/dlls/quartz/waveparser.c b/dlls/quartz/waveparser.c
index 3f3846c..6e8c664 100644
--- a/dlls/quartz/waveparser.c
+++ b/dlls/quartz/waveparser.c
@@ -440,7 +440,7 @@ HRESULT WAVEParser_create(IUnknown * pUnkOuter, LPVOID * ppv)
     if (FAILED(hr))
         return hr;
 
-    *ppv = This;
+    *ppv = &This->Parser.filter.IBaseFilter_iface;
 
     return hr;
 }




More information about the wine-cvs mailing list