diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c index 3dd8e539a25..cc48b9330bd 100644 --- a/dlls/mshtml/navigate.c +++ b/dlls/mshtml/navigate.c @@ -887,16 +887,6 @@ void set_document_bscallback(HTMLDocument *doc, BSCallback *callback) if(callback) { IBindStatusCallback_AddRef(STATUSCLB(callback)); callback->doc = doc; - - if(doc->mime) { - DWORD len; - - heap_free(callback->nschannel->content); - - len = WideCharToMultiByte(CP_ACP, 0, doc->mime, -1, NULL, 0, NULL, NULL); - callback->nschannel->content = heap_alloc(len); - WideCharToMultiByte(CP_ACP, 0, doc->mime, -1, callback->nschannel->content, -1, NULL, NULL); - } } } diff --git a/dlls/mshtml/nsio.c b/dlls/mshtml/nsio.c index cc4ea2fd430..0385f4ac25b 100644 --- a/dlls/mshtml/nsio.c +++ b/dlls/mshtml/nsio.c @@ -652,6 +652,16 @@ static nsresult async_open_doc_uri(nsChannel *This, NSContainer *container, container->bscallback->nscontext = context; } + if(container->doc && container->doc->mime) { + DWORD len; + + heap_free(This->content); + + len = WideCharToMultiByte(CP_ACP, 0, container->doc->mime, -1, NULL, 0, NULL, NULL); + This->content = heap_alloc(len); + WideCharToMultiByte(CP_ACP, 0, container->doc->mime, -1, This->content, -1, NULL, NULL); + } + if(do_load_from_moniker_hack(This)) return WINE_NS_LOAD_FROM_MONIKER; }else {