Commit 6363796e authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Use a helper function for QueryService calls in hlink_frame_navigate.

parent a0f04767
...@@ -125,6 +125,20 @@ void set_statustext(HTMLDocumentObj* doc, INT id, LPCWSTR arg) ...@@ -125,6 +125,20 @@ void set_statustext(HTMLDocumentObj* doc, INT id, LPCWSTR arg)
heap_free(p); heap_free(p);
} }
HRESULT do_query_service(IUnknown *unk, REFGUID guid_service, REFIID riid, void **ppv)
{
IServiceProvider *sp;
HRESULT hres;
hres = IUnknown_QueryInterface(unk, &IID_IServiceProvider, (void**)&sp);
if(FAILED(hres))
return hres;
hres = IServiceProvider_QueryService(sp, guid_service, riid, ppv);
IServiceProvider_Release(sp);
return hres;
}
HINSTANCE get_shdoclc(void) HINSTANCE get_shdoclc(void)
{ {
static const WCHAR wszShdoclc[] = static const WCHAR wszShdoclc[] =
......
...@@ -828,6 +828,8 @@ void do_ns_command(HTMLDocument*,const char*,nsICommandParams*) DECLSPEC_HIDDEN; ...@@ -828,6 +828,8 @@ void do_ns_command(HTMLDocument*,const char*,nsICommandParams*) DECLSPEC_HIDDEN;
void update_doc(HTMLDocument*,DWORD) DECLSPEC_HIDDEN; void update_doc(HTMLDocument*,DWORD) DECLSPEC_HIDDEN;
void update_title(HTMLDocumentObj*) DECLSPEC_HIDDEN; void update_title(HTMLDocumentObj*) DECLSPEC_HIDDEN;
HRESULT do_query_service(IUnknown*,REFGUID,REFIID,void**) DECLSPEC_HIDDEN;
/* editor */ /* editor */
void init_editor(HTMLDocument*) DECLSPEC_HIDDEN; void init_editor(HTMLDocument*) DECLSPEC_HIDDEN;
void handle_edit_event(HTMLDocument*,nsIDOMEvent*) DECLSPEC_HIDDEN; void handle_edit_event(HTMLDocument*,nsIDOMEvent*) DECLSPEC_HIDDEN;
......
...@@ -1981,7 +1981,6 @@ HRESULT hlink_frame_navigate(HTMLDocument *doc, LPCWSTR url, nsChannel *nschanne ...@@ -1981,7 +1981,6 @@ HRESULT hlink_frame_navigate(HTMLDocument *doc, LPCWSTR url, nsChannel *nschanne
{ {
IHlinkFrame *hlink_frame; IHlinkFrame *hlink_frame;
nsChannelBSC *callback; nsChannelBSC *callback;
IServiceProvider *sp;
IBindCtx *bindctx; IBindCtx *bindctx;
IMoniker *mon; IMoniker *mon;
IHlink *hlink; IHlink *hlink;
...@@ -1989,14 +1988,8 @@ HRESULT hlink_frame_navigate(HTMLDocument *doc, LPCWSTR url, nsChannel *nschanne ...@@ -1989,14 +1988,8 @@ HRESULT hlink_frame_navigate(HTMLDocument *doc, LPCWSTR url, nsChannel *nschanne
*cancel = FALSE; *cancel = FALSE;
hres = IOleClientSite_QueryInterface(doc->doc_obj->client, &IID_IServiceProvider, hres = do_query_service((IUnknown*)doc->doc_obj->client, &IID_IHlinkFrame, &IID_IHlinkFrame,
(void**)&sp);
if(FAILED(hres))
return S_OK;
hres = IServiceProvider_QueryService(sp, &IID_IHlinkFrame, &IID_IHlinkFrame,
(void**)&hlink_frame); (void**)&hlink_frame);
IServiceProvider_Release(sp);
if(FAILED(hres)) if(FAILED(hres))
return S_OK; return S_OK;
......
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