diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 0d42d4f5465..6842b231c15 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -2019,7 +2019,7 @@ HRESULT create_doc_from_nsdoc(nsIDOMHTMLDocument *nsdoc, HTMLDocumentObj *doc_ob if(!doc) return E_OUTOFMEMORY; - if(window == doc_obj->basedoc.window) + if(!doc_obj->basedoc.window || window == doc_obj->basedoc.window) doc->basedoc.cp_container.forward_container = &doc_obj->basedoc.cp_container; nsIDOMHTMLDocument_AddRef(nsdoc); diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c index a4fa1be09b0..99d03b3360d 100644 --- a/dlls/mshtml/htmlwindow.c +++ b/dlls/mshtml/htmlwindow.c @@ -2247,7 +2247,6 @@ HRESULT HTMLWindow_Create(HTMLDocumentObj *doc_obj, nsIDOMWindow *nswindow, HTML list_init(&window->script_hosts); window->task_magic = get_task_target_magic(); - *ret = window; update_window_doc(window); list_init(&window->children); @@ -2260,6 +2259,7 @@ HRESULT HTMLWindow_Create(HTMLDocumentObj *doc_obj, nsIDOMWindow *nswindow, HTML list_add_tail(&parent->children, &window->sibling_entry); } + *ret = window; return S_OK; }