Commit 14ad0a1a authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

ieframe: Use IOleObject::DoVerb if IHlink interface is not available.

parent 15aa8daf
...@@ -121,15 +121,29 @@ static void object_available(DocHost *This) ...@@ -121,15 +121,29 @@ static void object_available(DocHost *This)
} }
hres = IUnknown_QueryInterface(This->document, &IID_IHlinkTarget, (void**)&hlink); hres = IUnknown_QueryInterface(This->document, &IID_IHlinkTarget, (void**)&hlink);
if(FAILED(hres)) { if(SUCCEEDED(hres)) {
FIXME("Could not get IHlinkTarget interface\n"); hres = IHlinkTarget_Navigate(hlink, 0, NULL);
return; IHlinkTarget_Release(hlink);
} if(FAILED(hres))
FIXME("Navigate failed\n");
}else {
IOleObject *ole_object;
RECT rect;
hres = IHlinkTarget_Navigate(hlink, 0, NULL); TRACE("No IHlink iface\n");
IHlinkTarget_Release(hlink);
if(FAILED(hres)) hres = IUnknown_QueryInterface(This->document, &IID_IOleObject, (void**)&ole_object);
FIXME("Navigate failed\n"); if(FAILED(hres)) {
FIXME("Could not get IOleObject iface: %08x\n", hres);
return;
}
GetClientRect(This->hwnd, &rect);
hres = IOleObject_DoVerb(ole_object, OLEIVERB_SHOW, NULL, &This->IOleClientSite_iface, -1, This->hwnd, &rect);
IOleObject_Release(ole_object);
if(FAILED(hres))
FIXME("DoVerb failed: %08x\n", hres);
}
} }
static HRESULT get_doc_ready_state(DocHost *This, READYSTATE *ret) static HRESULT get_doc_ready_state(DocHost *This, READYSTATE *ret)
......
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