diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 18bd05f78d5..c8d68c48b0d 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -116,6 +116,9 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID }else if(IsEqualGUID(&CLSID_CMarkup, riid)) { FIXME("(%p)->(CLSID_CMarkup %p)\n", This, ppvObject); return E_NOINTERFACE; + }else if(IsEqualGUID(&IID_IRunnableObject, riid)) { + TRACE("(%p)->(IID_IRunnableObject %p) returning NULL\n", This, ppvObject); + return E_NOINTERFACE; } if(*ppvObject) { diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c index c6fb288469c..19151a073d7 100644 --- a/dlls/mshtml/tests/htmldoc.c +++ b/dlls/mshtml/tests/htmldoc.c @@ -2535,6 +2535,16 @@ static void test_Navigate(IUnknown *unk) IHlinkTarget_Release(hlink); } +static void test_QueryInterface(IUnknown *unk) +{ + IRunnableObject *runnable = (IRunnableObject*)0xdeadbeef; + HRESULT hres; + + hres = IUnknown_QueryInterface(unk, &IID_IRunnableObject, (void**)&runnable); + ok(hres == E_NOINTERFACE, "QueryInterface returned %08lx, expected E_NOINTERFACE\n", hres); + ok(runnable == NULL, "runnable=%p, ezpected NULL\n", runnable); +} + static void init_test(enum load_state_t ls) { hwnd = last_hwnd = NULL; set_clientsite = FALSE; @@ -2556,6 +2566,7 @@ static void test_HTMLDocument(enum load_state_t ls) if(FAILED(hres)) return; + test_QueryInterface(unk); test_ConnectionPointContainer(unk); test_Persist(unk); if(load_state == LD_NO)