Jacek Caban : mshtml: Make Wine behave like IE 7.

Alexandre Julliard julliard at winehq.org
Mon May 26 13:12:40 CDT 2008


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sun May 25 12:41:24 2008 +0200

mshtml: Make Wine behave like IE 7.

---

 dlls/mshtml/task.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/dlls/mshtml/task.c b/dlls/mshtml/task.c
index 99e2573..5dbc2fd 100644
--- a/dlls/mshtml/task.c
+++ b/dlls/mshtml/task.c
@@ -28,6 +28,7 @@
 #include "winuser.h"
 #include "ole2.h"
 #include "mshtmcid.h"
+#include "shlguid.h"
 
 #include "wine/debug.h"
 
@@ -196,6 +197,27 @@ static void set_downloading(HTMLDocument *doc)
     }
 }
 
+/* Calls undocumented 69 cmd of CGID_Explorer */
+static void call_explorer_69(HTMLDocument *doc)
+{
+    IOleCommandTarget *olecmd;
+    VARIANT var;
+    HRESULT hres;
+
+    if(!doc->client)
+        return;
+
+    hres = IOleClientSite_QueryInterface(doc->client, &IID_IOleCommandTarget, (void**)&olecmd);
+    if(FAILED(hres))
+        return;
+
+    VariantInit(&var);
+    hres = IOleCommandTarget_Exec(olecmd, &CGID_Explorer, 69, 0, NULL, &var);
+    IOleCommandTarget_Release(olecmd);
+    if(SUCCEEDED(hres) && V_VT(&var) != VT_NULL)
+        FIXME("handle result\n");
+}
+
 static void set_parsecomplete(HTMLDocument *doc)
 {
     IOleCommandTarget *olecmd = NULL;
@@ -205,7 +227,9 @@ static void set_parsecomplete(HTMLDocument *doc)
     if(doc->usermode == EDITMODE)
         init_editor(doc);
 
+    call_explorer_69(doc);
     call_property_onchanged(&doc->cp_propnotif, 1005);
+    call_explorer_69(doc);
 
     doc->readystate = READYSTATE_INTERACTIVE;
     call_property_onchanged(&doc->cp_propnotif, DISPID_READYSTATE);




More information about the wine-cvs mailing list