Jacek Caban : mshtml: Use QueryService helper function in SetClientSite implementation.
Alexandre Julliard
julliard at winehq.org
Thu Jan 5 15:24:43 CST 2012
Module: wine
Branch: master
Commit: 986800701b2c7a1d1963fe68d5a193bb5047735e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=986800701b2c7a1d1963fe68d5a193bb5047735e
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Jan 5 18:30:36 2012 +0100
mshtml: Use QueryService helper function in SetClientSite implementation.
---
dlls/mshtml/oleobj.c | 39 ++++++++++++++++-----------------------
1 files changed, 16 insertions(+), 23 deletions(-)
diff --git a/dlls/mshtml/oleobj.c b/dlls/mshtml/oleobj.c
index e5c0235..e207066 100644
--- a/dlls/mshtml/oleobj.c
+++ b/dlls/mshtml/oleobj.c
@@ -203,41 +203,34 @@ static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, IOleClientSite
OLECMD cmd = {OLECMDID_SETPROGRESSTEXT, 0};
if(!hostui_setup) {
- IServiceProvider *sp;
+ IDocObjectService *doc_object_service;
+ IBrowserService *browser_service;
+ IWebBrowser2 *wb;
V_VT(&var) = VT_UNKNOWN;
V_UNKNOWN(&var) = (IUnknown*)&This->window->IHTMLWindow2_iface;
IOleCommandTarget_Exec(cmdtrg, &CGID_DocHostCmdPriv, DOCHOST_DOCCANNAVIGATE, 0, &var, NULL);
- hres = IOleClientSite_QueryInterface(pClientSite, &IID_IServiceProvider, (void**)&sp);
+ hres = do_query_service((IUnknown*)pClientSite, &IID_IShellBrowser,
+ &IID_IBrowserService, (void**)&browser_service);
if(SUCCEEDED(hres)) {
- IDocObjectService *doc_object_service;
- IBrowserService *browser_service;
- IWebBrowser2 *wb;
-
- hres = IServiceProvider_QueryService(sp, &IID_IShellBrowser,
- &IID_IBrowserService, (void**)&browser_service);
+ hres = IBrowserService_QueryInterface(browser_service,
+ &IID_IDocObjectService, (void**)&doc_object_service);
if(SUCCEEDED(hres)) {
- hres = IBrowserService_QueryInterface(browser_service,
- &IID_IDocObjectService, (void**)&doc_object_service);
+ This->doc_obj->doc_object_service = doc_object_service;
+
+ /*
+ * Some embedding routines, esp. in regards to use of IDocObjectService, differ if
+ * embedder supports IWebBrowserApp.
+ */
+ hres = do_query_service((IUnknown*)pClientSite, &IID_IWebBrowserApp, &IID_IWebBrowser2, (void**)&wb);
if(SUCCEEDED(hres)) {
- This->doc_obj->doc_object_service = doc_object_service;
-
- /*
- * Some embedding routines, esp. in regards to use of IDocObjectService, differ if
- * embedder supports IWebBrowserApp.
- */
- hres = IServiceProvider_QueryService(sp, &IID_IWebBrowserApp, &IID_IWebBrowser2, (void**)&wb);
- if(SUCCEEDED(hres)) {
- This->doc_obj->is_webbrowser = TRUE;
- IWebBrowser2_Release(wb);
- }
+ This->doc_obj->is_webbrowser = TRUE;
+ IWebBrowser2_Release(wb);
}
IBrowserService_Release(browser_service);
}
-
- IServiceProvider_Release(sp);
}
}
More information about the wine-cvs
mailing list