Commit 5d9e6455 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Reload page in exec_editmode if available.

parent 2702dfff
...@@ -534,8 +534,6 @@ static HRESULT exec_editmode(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, ...@@ -534,8 +534,6 @@ static HRESULT exec_editmode(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
IMoniker *mon; IMoniker *mon;
HRESULT hres; HRESULT hres;
static const WCHAR wszAboutBlank[] = {'a','b','o','u','t',':','b','l','a','n','k',0};
TRACE("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out); TRACE("(%p)->(%08x %p %p)\n", This, cmdexecopt, in, out);
if(in || out) if(in || out)
...@@ -546,9 +544,20 @@ static HRESULT exec_editmode(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, ...@@ -546,9 +544,20 @@ static HRESULT exec_editmode(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
This->usermode = EDITMODE; This->usermode = EDITMODE;
if(This->mon) {
CLSID clsid = IID_NULL;
hres = IMoniker_GetClassID(This->mon, &clsid);
if(SUCCEEDED(hres)) {
/* We should use IMoniker::Save here */
FIXME("Use CLSID %s\n", debugstr_guid(&clsid));
}
}
if(This->frame) if(This->frame)
IOleInPlaceFrame_SetStatusText(This->frame, NULL); IOleInPlaceFrame_SetStatusText(This->frame, NULL);
This->readystate = READYSTATE_UNINITIALIZED;
if(This->client) { if(This->client) {
IOleCommandTarget *cmdtrg; IOleCommandTarget *cmdtrg;
...@@ -581,13 +590,23 @@ static HRESULT exec_editmode(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in, ...@@ -581,13 +590,23 @@ static HRESULT exec_editmode(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
if(This->nscontainer) if(This->nscontainer)
set_ns_editmode(This->nscontainer); set_ns_editmode(This->nscontainer);
hres = CreateURLMoniker(NULL, wszAboutBlank, &mon); update_doc(This, UPDATE_UI);
if(This->mon) {
/* FIXME: We should find nicer way to do this */
remove_doc_tasks(This);
mon = This->mon;
IMoniker_AddRef(mon);
}else {
static const WCHAR about_blankW[] = {'a','b','o','u','t',':','b','l','a','n','k',0};
hres = CreateURLMoniker(NULL, about_blankW, &mon);
if(FAILED(hres)) { if(FAILED(hres)) {
FIXME("CreateURLMoniker failed: %08x\n", hres); FIXME("CreateURLMoniker failed: %08x\n", hres);
return hres; return hres;
} }
}
update_doc(This, UPDATE_UI);
hres = IPersistMoniker_Load(PERSISTMON(This), TRUE, mon, NULL, 0); hres = IPersistMoniker_Load(PERSISTMON(This), TRUE, mon, NULL, 0);
IMoniker_Release(mon); IMoniker_Release(mon);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment