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