Module: wine Branch: master Commit: 42c1b3936da43e7b946f9d298a5dfab95aeecaf6 URL: http://source.winehq.org/git/wine.git/?a=commit;h=42c1b3936da43e7b946f9d298a...
Author: Jacek Caban jacek@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,