Jacek Caban : mshtml: Moved Exec(DOCHOST_DOCCANNAVIGATE) call to separated function.

Alexandre Julliard julliard at winehq.org
Wed Sep 18 15:49:59 CDT 2013


Module: wine
Branch: master
Commit: 42c1b3936da43e7b946f9d298a5dfab95aeecaf6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=42c1b3936da43e7b946f9d298a5dfab95aeecaf6

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Sep 18 16:57:56 2013 +0200

mshtml: Moved Exec(DOCHOST_DOCCANNAVIGATE) call to separated function.

---

 dlls/mshtml/oleobj.c |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/dlls/mshtml/oleobj.c b/dlls/mshtml/oleobj.c
index ac15cdf..fded548 100644
--- a/dlls/mshtml/oleobj.c
+++ b/dlls/mshtml/oleobj.c
@@ -210,6 +210,22 @@ void call_docview_84(HTMLDocumentObj *doc)
         FIXME("handle result\n");
 }
 
+static void set_document_navigation(HTMLDocumentObj *doc, BOOL doc_can_navigate)
+{
+    VARIANT var;
+
+    if(!doc->client_cmdtrg)
+        return;
+
+    if(doc_can_navigate) {
+        V_VT(&var) = VT_UNKNOWN;
+        V_UNKNOWN(&var) = (IUnknown*)&doc->basedoc.window->base.IHTMLWindow2_iface;
+    }
+
+    IOleCommandTarget_Exec(doc->client_cmdtrg, &CGID_DocHostCmdPriv, DOCHOST_DOCCANNAVIGATE, 0,
+            doc_can_navigate ? &var : NULL, NULL);
+}
+
 static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, IOleClientSite *pClientSite)
 {
     HTMLDocument *This = impl_from_IOleObject(iface);
@@ -359,9 +375,7 @@ static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, IOleClientSite
             IDocObjectService *doc_object_service;
             IWebBrowser2 *wb;
 
-            V_VT(&var) = VT_UNKNOWN;
-            V_UNKNOWN(&var) = (IUnknown*)&This->window->base.IHTMLWindow2_iface;
-            IOleCommandTarget_Exec(cmdtrg, &CGID_DocHostCmdPriv, DOCHOST_DOCCANNAVIGATE, 0, &var, NULL);
+            set_document_navigation(This->doc_obj, TRUE);
 
             if(browser_service) {
                 hres = IBrowserService_QueryInterface(browser_service,




More information about the wine-cvs mailing list