wine/dlls/shdocvw dochost.c

Alexandre Julliard julliard at wine.codeweavers.com
Fri Dec 2 07:14:47 CST 2005


ChangeSet ID:	21622
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at winehq.org	2005/12/02 07:14:47

Modified files:
	dlls/shdocvw   : dochost.c 

Log message:
	Jacek Caban <jacek at codeweavers.com>
	Use sink in navigate_complete instead of ClientSite's IDispatch.

Patch: http://cvs.winehq.org/patch.py?id=21622

Old revision  New revision  Changes     Path
 1.5           1.6           +8 -15      wine/dlls/shdocvw/dochost.c

Index: wine/dlls/shdocvw/dochost.c
diff -u -p wine/dlls/shdocvw/dochost.c:1.5 wine/dlls/shdocvw/dochost.c:1.6
--- wine/dlls/shdocvw/dochost.c:1.5	2 Dec 2005 13:14:47 -0000
+++ wine/dlls/shdocvw/dochost.c	2 Dec 2005 13:14:47 -0000
@@ -27,17 +27,13 @@ static ATOM doc_view_atom = 0;
 
 static void navigate_complete(WebBrowser *This)
 {
-    IDispatch *disp, *docdisp = NULL;
+    IDispatch *disp = NULL;
     DISPPARAMS dispparams;
     VARIANTARG params[2];
     VARIANT url;
     HRESULT hres;
 
-    hres = IOleClientSite_QueryInterface(This->client, &IID_IDispatch, (void**)&disp);
-    if(FAILED(hres))
-        return;
-
-    hres = IUnknown_QueryInterface(This->document, &IID_IDispatch, (void**)&docdisp);
+    hres = IUnknown_QueryInterface(This->document, &IID_IDispatch, (void**)&disp);
     if(FAILED(hres))
         FIXME("Could not get IDispatch interface\n");
 
@@ -50,19 +46,16 @@ static void navigate_complete(WebBrowser
     V_BYREF(params) = &url;
 
     V_VT(params+1) = VT_DISPATCH;
-    V_DISPATCH(params+1) = docdisp;
+    V_DISPATCH(params+1) = disp;
 
     V_VT(&url) = VT_BSTR;
     V_BSTR(&url) = This->url;
 
-    IDispatch_Invoke(disp, DISPID_NAVIGATECOMPLETE2, &IID_NULL, LOCALE_SYSTEM_DEFAULT,
-                     DISPATCH_METHOD, &dispparams, NULL, NULL, NULL);
-    IDispatch_Invoke(disp, DISPID_DOCUMENTCOMPLETE, &IID_NULL, LOCALE_SYSTEM_DEFAULT,
-                     DISPATCH_METHOD, &dispparams, NULL, NULL, NULL);
-
-    IDispatch_Release(disp);
-    if(docdisp)
-        IDispatch_Release(docdisp);
+    call_sink(This->cp_wbe2, DISPID_NAVIGATECOMPLETE2, &dispparams);
+    call_sink(This->cp_wbe2, DISPID_DOCUMENTCOMPLETE, &dispparams);
+
+    if(disp)
+        IDispatch_Release(disp);
 }
 
 static LRESULT navigate2(WebBrowser *This)



More information about the wine-cvs mailing list