Jacek Caban : shdocvw: Silence more invalid QueryInterface FIXMEs.

Alexandre Julliard julliard at winehq.org
Mon Feb 25 06:50:51 CST 2008


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Feb 22 11:35:24 2008 +0100

shdocvw: Silence more invalid QueryInterface FIXMEs.

---

 dlls/shdocvw/tests/webbrowser.c |   14 ++++++++++++--
 dlls/shdocvw/webbrowser.c       |    6 ++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/dlls/shdocvw/tests/webbrowser.c b/dlls/shdocvw/tests/webbrowser.c
index 2dedbf3..1ec3de3 100644
--- a/dlls/shdocvw/tests/webbrowser.c
+++ b/dlls/shdocvw/tests/webbrowser.c
@@ -1929,7 +1929,9 @@ static void test_QueryInterface(IUnknown *unk)
     IQuickActivate *qa = (IQuickActivate*)0xdeadbeef;
     IRunnableObject *runnable = (IRunnableObject*)0xdeadbeef;
     IPerPropertyBrowsing *propbrowse = (void*)0xdeadbeef;
+    IOleInPlaceSite *inplace = (void*)0xdeadbeef;
     IOleCache *cache = (void*)0xdeadbeef;
+    IObjectWithSite *site = (void*)0xdeadbeef;
     HRESULT hres;
 
     hres = IUnknown_QueryInterface(unk, &IID_IQuickActivate, (void**)&qa);
@@ -1942,11 +1944,19 @@ static void test_QueryInterface(IUnknown *unk)
 
     hres = IUnknown_QueryInterface(unk, &IID_IPerPropertyBrowsing, (void**)&propbrowse);
     ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
-    ok(runnable == NULL, "runnable=%p, ezpected NULL\n", runnable);
+    ok(propbrowse == NULL, "propbrowse=%p, ezpected NULL\n", runnable);
 
     hres = IUnknown_QueryInterface(unk, &IID_IOleCache, (void**)&cache);
     ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
-    ok(cache == NULL, "runnable=%p, ezpected NULL\n", runnable);
+    ok(cache == NULL, "cache=%p, ezpected NULL\n", runnable);
+
+    hres = IUnknown_QueryInterface(unk, &IID_IOleInPlaceSite, (void**)&inplace);
+    ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
+    ok(inplace == NULL, "inplace=%p, ezpected NULL\n", runnable);
+
+    hres = IUnknown_QueryInterface(unk, &IID_IObjectWithSite, (void**)&site);
+    ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
+    ok(site == NULL, "inplace=%p, ezpected NULL\n", runnable);
 }
 
 static void test_WebBrowser(void)
diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c
index 41617a2..2c4d36d 100644
--- a/dlls/shdocvw/webbrowser.c
+++ b/dlls/shdocvw/webbrowser.c
@@ -114,6 +114,12 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
     }else if(IsEqualGUID(&IID_IOleCache, riid)) {
         TRACE("(%p)->(IID_IOleCache %p) returning NULL\n", This, ppv);
         return E_NOINTERFACE;
+    }else if(IsEqualGUID(&IID_IOleInPlaceSite, riid)) {
+        TRACE("(%p)->(IID_IOleInPlaceSite %p) returning NULL\n", This, ppv);
+        return E_NOINTERFACE;
+    }else if(IsEqualGUID(&IID_IObjectWithSite, riid)) {
+        TRACE("(%p)->(IID_IObjectWithSite %p) returning NULL\n", This, ppv);
+        return E_NOINTERFACE;
     }
 
     if(*ppv) {




More information about the wine-cvs mailing list