Module: wine Branch: master Commit: aa30f442b1a2f986079cae8c6a825f19b85944fb URL: http://source.winehq.org/git/wine.git/?a=commit;h=aa30f442b1a2f986079cae8c6a...
Author: Jacek Caban jacek@codeweavers.com Date: Sun Nov 25 19:10:03 2007 +0100
shdocvw: Silence common invalid QueryInterface FIXMEs.
---
dlls/shdocvw/tests/webbrowser.c | 10 ++++++++++ dlls/shdocvw/webbrowser.c | 6 ++++++ 2 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/dlls/shdocvw/tests/webbrowser.c b/dlls/shdocvw/tests/webbrowser.c index 2659bc4..8e457fc 100644 --- a/dlls/shdocvw/tests/webbrowser.c +++ b/dlls/shdocvw/tests/webbrowser.c @@ -1412,6 +1412,8 @@ static void test_QueryInterface(IUnknown *unk) { IQuickActivate *qa = (IQuickActivate*)0xdeadbeef; IRunnableObject *runnable = (IRunnableObject*)0xdeadbeef; + IPerPropertyBrowsing *propbrowse = (void*)0xdeadbeef; + IOleCache *cache = (void*)0xdeadbeef; HRESULT hres;
hres = IUnknown_QueryInterface(unk, &IID_IQuickActivate, (void**)&qa); @@ -1421,6 +1423,14 @@ static void test_QueryInterface(IUnknown *unk) hres = IUnknown_QueryInterface(unk, &IID_IRunnableObject, (void**)&runnable); ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres); ok(runnable == NULL, "runnable=%p, ezpected NULL\n", runnable); + + 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); + + 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); }
static void test_WebBrowser(void) diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c index 79ae4a1..59cc117 100644 --- a/dlls/shdocvw/webbrowser.c +++ b/dlls/shdocvw/webbrowser.c @@ -108,6 +108,12 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid }else if(IsEqualGUID(&IID_IRunnableObject, riid)) { TRACE("(%p)->(IID_IRunnableObject %p) returning NULL\n", This, ppv); return E_NOINTERFACE; + }else if(IsEqualGUID(&IID_IPerPropertyBrowsing, riid)) { + TRACE("(%p)->(IID_IPerPropertyBrowsing %p) returning NULL\n", This, ppv); + return E_NOINTERFACE; + }else if(IsEqualGUID(&IID_IOleCache, riid)) { + TRACE("(%p)->(IID_IOleCache %p) returning NULL\n", This, ppv); + return E_NOINTERFACE; }
if(*ppv) {