Jacek Caban : mshtml: Moved QueryService(IID_IShellBrowser) call to the right place.
Alexandre Julliard
julliard at winehq.org
Mon Nov 14 13:33:57 CST 2011
Module: wine
Branch: master
Commit: 54faf0852fe377a009f873ecb941995dd36dd710
URL: http://source.winehq.org/git/wine.git/?a=commit;h=54faf0852fe377a009f873ecb941995dd36dd710
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sat Nov 12 14:54:09 2011 +0100
mshtml: Moved QueryService(IID_IShellBrowser) call to the right place.
---
dlls/mshtml/oleobj.c | 40 ++++++++++++++++++++--------------------
1 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/dlls/mshtml/oleobj.c b/dlls/mshtml/oleobj.c
index d80db20..fa2694e 100644
--- a/dlls/mshtml/oleobj.c
+++ b/dlls/mshtml/oleobj.c
@@ -98,7 +98,6 @@ static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, IOleClientSite
HTMLDocument *This = impl_from_IOleObject(iface);
IOleCommandTarget *cmdtrg = NULL;
IOleWindow *ole_window;
- IServiceProvider *sp;
BOOL hostui_setup;
VARIANT silent;
HWND hwnd;
@@ -133,25 +132,6 @@ static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, IOleClientSite
IOleClientSite_AddRef(pClientSite);
This->doc_obj->client = pClientSite;
- hres = IOleClientSite_QueryInterface(pClientSite, &IID_IServiceProvider, (void**)&sp);
- if(SUCCEEDED(hres)) {
- IBrowserService *browser_service;
- IDocObjectService *doc_object_service;
-
- hres = IServiceProvider_QueryService(sp, &IID_IShellBrowser,
- &IID_IBrowserService, (void**)&browser_service);
- if(SUCCEEDED(hres)) {
- hres = IBrowserService_QueryInterface(browser_service,
- &IID_IDocObjectService, (void**)&doc_object_service);
- if(SUCCEEDED(hres))
- This->doc_obj->doc_object_service = doc_object_service;
-
- IBrowserService_Release(browser_service);
- }
-
- IServiceProvider_Release(sp);
- }
-
hostui_setup = This->doc_obj->hostui_setup;
if(!This->doc_obj->hostui) {
@@ -222,9 +202,29 @@ static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, IOleClientSite
OLECMD cmd = {OLECMDID_SETPROGRESSTEXT, 0};
if(!hostui_setup) {
+ IServiceProvider *sp;
+
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);
+ if(SUCCEEDED(hres)) {
+ IDocObjectService *doc_object_service;
+ IBrowserService *browser_service;
+
+ hres = IServiceProvider_QueryService(sp, &IID_IShellBrowser,
+ &IID_IBrowserService, (void**)&browser_service);
+ if(SUCCEEDED(hres)) {
+ hres = IBrowserService_QueryInterface(browser_service,
+ &IID_IDocObjectService, (void**)&doc_object_service);
+ if(SUCCEEDED(hres))
+ This->doc_obj->doc_object_service = doc_object_service;
+ IBrowserService_Release(browser_service);
+ }
+
+ IServiceProvider_Release(sp);
+ }
}
IOleCommandTarget_QueryStatus(cmdtrg, NULL, 1, &cmd, NULL);
More information about the wine-cvs
mailing list