From 2e6ff19e0e46572dc17c72cb1dc2ec7bb6ffe4df Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 26 Jun 2015 05:52:42 +0200 Subject: [PATCH] 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 5bc0d8f4775..d9a94a92411 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 50478092928..1a58844c38d 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 84e4214ed79..877c70667ec 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 f1903f9c146..f5ee3c29ef9 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) {