diff --git a/dlls/mshtml/tests/events.c b/dlls/mshtml/tests/events.c index abca9f45e3f..fc105106141 100644 --- a/dlls/mshtml/tests/events.c +++ b/dlls/mshtml/tests/events.c @@ -1774,12 +1774,23 @@ static void set_client_site(IHTMLDocument2 *doc, BOOL set) static IHTMLDocument2 *create_document(void) { IHTMLDocument2 *doc; + IHTMLDocument5 *doc5; HRESULT hres; hres = CoCreateInstance(&CLSID_HTMLDocument, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, &IID_IHTMLDocument2, (void**)&doc); ok(hres == S_OK, "CoCreateInstance failed: %08x\n", hres); + if (FAILED(hres)) + return NULL; + hres = IHTMLDocument2_QueryInterface(doc, &IID_IHTMLDocument5, (void**)&doc5); + if(FAILED(hres)) { + win_skip("Could not get IHTMLDocument5 interface, probably too old IE\n"); + IHTMLDocument2_Release(doc); + return NULL; + } + + IHTMLDocument5_Release(doc5); return doc; } @@ -1796,6 +1807,8 @@ static void run_test(const char *str, testfunc_t test) xy_todo = FALSE; doc = create_document(); + if (!doc) + return; set_client_site(doc, TRUE); doc_load_string(doc, str); do_advise((IUnknown*)doc, &IID_IPropertyNotifySink, (IUnknown*)&PropertyNotifySink);