diff --git a/dlls/ieframe/tests/webbrowser.c b/dlls/ieframe/tests/webbrowser.c index db47fdf616..5984ba3f89 100644 --- a/dlls/ieframe/tests/webbrowser.c +++ b/dlls/ieframe/tests/webbrowser.c @@ -251,6 +251,9 @@ static IWebBrowser2 *_create_webbrowser(unsigned line) hres = CoCreateInstance(&CLSID_WebBrowser, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, &IID_IWebBrowser2, (void**)&ret); ok_(__FILE__,line)(hres == S_OK, "Creating WebBrowser object failed: %08x\n", hres); + hres = CoCreateInstance(&CLSID_WebBrowser, (IUnknown*)ret, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, + &IID_IWebBrowser2, (void**)&ret); + ok_(__FILE__,line)(hres == CLASS_E_NOAGGREGATION, "WebBrowser aggregation didn't fail as expected, %08x\n", hres); return ret; } diff --git a/dlls/ieframe/webbrowser.c b/dlls/ieframe/webbrowser.c index 03acf38869..e997a90022 100644 --- a/dlls/ieframe/webbrowser.c +++ b/dlls/ieframe/webbrowser.c @@ -1231,6 +1231,9 @@ static HRESULT create_webbrowser(int version, IUnknown *outer, REFIID riid, void TRACE("(%p %s %p) version=%d\n", outer, debugstr_guid(riid), ppv, version); + if (outer) + return CLASS_E_NOAGGREGATION; + ret = heap_alloc_zero(sizeof(WebBrowser)); ret->IWebBrowser2_iface.lpVtbl = &WebBrowser2Vtbl;