ieframe: Use IOleObject::DoVerb if IHlink interface is not available.
This commit is contained in:
parent
15aa8daf64
commit
14ad0a1a84
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue