[3/3] quartz: Distinguish interface pointer and implementation pointer in multiple interfaces.
Sebastian Lackner
sebastian at fds-team.de
Thu Jun 25 22:52:42 CDT 2015
---
dlls/quartz/acmwrapper.c | 2 +-
dlls/quartz/avidec.c | 2 +-
dlls/quartz/filesource.c | 8 ++++----
dlls/quartz/memallocator.c | 4 ++--
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/dlls/quartz/acmwrapper.c b/dlls/quartz/acmwrapper.c
index 5bc0d8f..d9a94a9 100644
--- a/dlls/quartz/acmwrapper.c
+++ b/dlls/quartz/acmwrapper.c
@@ -394,7 +394,7 @@ HRESULT ACMWrapper_create(IUnknown * pUnkOuter, LPVOID * ppv)
if (FAILED(hr))
return hr;
- *ppv = This;
+ *ppv = &This->tf.filter.IBaseFilter_iface;
This->lasttime_real = This->lasttime_sent = -1;
return hr;
diff --git a/dlls/quartz/avidec.c b/dlls/quartz/avidec.c
index 5047809..1a58844 100644
--- a/dlls/quartz/avidec.c
+++ b/dlls/quartz/avidec.c
@@ -416,7 +416,7 @@ HRESULT AVIDec_create(IUnknown * pUnkOuter, LPVOID * ppv)
This->pBihIn = NULL;
This->pBihOut = NULL;
- *ppv = This;
+ *ppv = &This->tf.filter.IBaseFilter_iface;
return hr;
}
diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c
index 84e4214..877c706 100644
--- a/dlls/quartz/filesource.c
+++ b/dlls/quartz/filesource.c
@@ -452,13 +452,13 @@ static HRESULT WINAPI AsyncReader_QueryInterface(IBaseFilter * iface, REFIID rii
*ppv = NULL;
if (IsEqualIID(riid, &IID_IUnknown))
- *ppv = This;
+ *ppv = &This->filter.IBaseFilter_iface;
else if (IsEqualIID(riid, &IID_IPersist))
- *ppv = This;
+ *ppv = &This->filter.IBaseFilter_iface;
else if (IsEqualIID(riid, &IID_IMediaFilter))
- *ppv = This;
+ *ppv = &This->filter.IBaseFilter_iface;
else if (IsEqualIID(riid, &IID_IBaseFilter))
- *ppv = This;
+ *ppv = &This->filter.IBaseFilter_iface;
else if (IsEqualIID(riid, &IID_IFileSourceFilter))
*ppv = &This->IFileSourceFilter_iface;
else if (IsEqualIID(riid, &IID_IAMFilterMiscFlags))
diff --git a/dlls/quartz/memallocator.c b/dlls/quartz/memallocator.c
index f1903f9..f5ee3c2 100644
--- a/dlls/quartz/memallocator.c
+++ b/dlls/quartz/memallocator.c
@@ -116,9 +116,9 @@ static HRESULT WINAPI BaseMemAllocator_QueryInterface(IMemAllocator * iface, REF
*ppv = NULL;
if (IsEqualIID(riid, &IID_IUnknown))
- *ppv = This;
+ *ppv = &This->IMemAllocator_iface;
else if (IsEqualIID(riid, &IID_IMemAllocator))
- *ppv = This;
+ *ppv = &This->IMemAllocator_iface;
if (*ppv)
{
--
2.4.3
More information about the wine-patches
mailing list