Nikolay Sivov : ole32: Return interface pointers instead of impl pointers from QI.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Mar 24 10:00:44 CDT 2015


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Fri Mar 20 10:15:42 2015 +0300

ole32: Return interface pointers instead of impl pointers from QI.

---

 dlls/ole32/bindctx.c       | 2 +-
 dlls/ole32/hglobalstream.c | 2 +-
 dlls/ole32/moniker.c       | 2 +-
 dlls/ole32/storage32.c     | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/ole32/bindctx.c b/dlls/ole32/bindctx.c
index 5e7fe8f..8be88a6 100644
--- a/dlls/ole32/bindctx.c
+++ b/dlls/ole32/bindctx.c
@@ -92,7 +92,7 @@ BindCtxImpl_QueryInterface(IBindCtx* iface,REFIID riid,void** ppvObject)
     if (IsEqualIID(&IID_IUnknown, riid) ||
         IsEqualIID(&IID_IBindCtx, riid))
     {
-        *ppvObject = This;
+        *ppvObject = &This->IBindCtx_iface;
         IBindCtx_AddRef(iface);
         return S_OK;
     }
diff --git a/dlls/ole32/hglobalstream.c b/dlls/ole32/hglobalstream.c
index ff1dfa2..655e380 100644
--- a/dlls/ole32/hglobalstream.c
+++ b/dlls/ole32/hglobalstream.c
@@ -89,7 +89,7 @@ static HRESULT WINAPI HGLOBALStreamImpl_QueryInterface(
       IsEqualIID(&IID_ISequentialStream, riid) ||
       IsEqualIID(&IID_IStream, riid))
   {
-    *ppvObject = This;
+    *ppvObject = &This->IStream_iface;
   }
 
   if ((*ppvObject)==0)
diff --git a/dlls/ole32/moniker.c b/dlls/ole32/moniker.c
index 2997156..6f7afa0 100644
--- a/dlls/ole32/moniker.c
+++ b/dlls/ole32/moniker.c
@@ -316,7 +316,7 @@ RunningObjectTableImpl_QueryInterface(IRunningObjectTable* iface,
 
     if (IsEqualIID(&IID_IUnknown, riid) ||
         IsEqualIID(&IID_IRunningObjectTable, riid))
-        *ppvObject = This;
+        *ppvObject = &This->IRunningObjectTable_iface;
 
     if ((*ppvObject)==0)
         return E_NOINTERFACE;
diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c
index f09beec..07fae9c 100644
--- a/dlls/ole32/storage32.c
+++ b/dlls/ole32/storage32.c
@@ -6300,7 +6300,7 @@ static HRESULT WINAPI IEnumSTATSTGImpl_QueryInterface(
   if (IsEqualGUID(&IID_IUnknown, riid) ||
       IsEqualGUID(&IID_IEnumSTATSTG, riid))
   {
-    *ppvObject = This;
+    *ppvObject = &This->IEnumSTATSTG_iface;
     IEnumSTATSTG_AddRef(&This->IEnumSTATSTG_iface);
     return S_OK;
   }




More information about the wine-cvs mailing list