Sebastian Lackner : quartz: Distinguish interface pointer and implementation pointer in multiple interfaces.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jun 26 07:11:53 CDT 2015
Module: wine
Branch: master
Commit: 2e6ff19e0e46572dc17c72cb1dc2ec7bb6ffe4df
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2e6ff19e0e46572dc17c72cb1dc2ec7bb6ffe4df
Author: Sebastian Lackner <sebastian at fds-team.de>
Date: Fri Jun 26 05:52:42 2015 +0200
quartz: Distinguish interface pointer and implementation pointer in multiple interfaces.
---
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)
{
More information about the wine-cvs
mailing list