Jacek Caban : shdocvw: Use Dochost, not WebBrowser, in deactivate_document.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Apr 18 05:13:52 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 22b6d5485c524ae7fa313fd2b9b491c131f4ad99
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=22b6d5485c524ae7fa313fd2b9b491c131f4ad99

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Apr 18 00:39:15 2006 +0200

shdocvw: Use Dochost, not WebBrowser, in deactivate_document.

---

 dlls/shdocvw/dochost.c   |   30 +++++++++++++++---------------
 dlls/shdocvw/navigate.c  |    2 +-
 dlls/shdocvw/oleobject.c |    2 +-
 dlls/shdocvw/shdocvw.h   |    2 +-
 4 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/dlls/shdocvw/dochost.c b/dlls/shdocvw/dochost.c
index fd3ca2c..5432fc3 100644
--- a/dlls/shdocvw/dochost.c
+++ b/dlls/shdocvw/dochost.c
@@ -154,36 +154,36 @@ void create_doc_view_hwnd(WebBrowser *Th
          NULL, shdocvw_hinstance, This);
 }
 
-void deactivate_document(WebBrowser *This)
+void deactivate_document(DocHost *This)
 {
     IOleInPlaceObjectWindowless *winobj;
     IOleObject *oleobj = NULL;
     IHlinkTarget *hlink = NULL;
     HRESULT hres;
 
-    if(This->doc_host.view)
-        IOleDocumentView_UIActivate(This->doc_host.view, FALSE);
+    if(This->view)
+        IOleDocumentView_UIActivate(This->view, FALSE);
 
-    hres = IUnknown_QueryInterface(This->doc_host.document, &IID_IOleInPlaceObjectWindowless,
+    hres = IUnknown_QueryInterface(This->document, &IID_IOleInPlaceObjectWindowless,
                                    (void**)&winobj);
     if(SUCCEEDED(hres)) {
         IOleInPlaceObjectWindowless_InPlaceDeactivate(winobj);
         IOleInPlaceObjectWindowless_Release(winobj);
     }
 
-    if(This->doc_host.view) {
-        IOleDocumentView_Show(This->doc_host.view, FALSE);
-        IOleDocumentView_CloseView(This->doc_host.view, 0);
-        IOleDocumentView_SetInPlaceSite(This->doc_host.view, NULL);
-        IOleDocumentView_Release(This->doc_host.view);
-        This->doc_host.view = NULL;
+    if(This->view) {
+        IOleDocumentView_Show(This->view, FALSE);
+        IOleDocumentView_CloseView(This->view, 0);
+        IOleDocumentView_SetInPlaceSite(This->view, NULL);
+        IOleDocumentView_Release(This->view);
+        This->view = NULL;
     }
 
-    hres = IUnknown_QueryInterface(This->doc_host.document, &IID_IOleObject, (void**)&oleobj);
+    hres = IUnknown_QueryInterface(This->document, &IID_IOleObject, (void**)&oleobj);
     if(SUCCEEDED(hres))
         IOleObject_Close(oleobj, OLECLOSE_NOSAVE);
 
-    hres = IUnknown_QueryInterface(This->doc_host.document, &IID_IHlinkTarget, (void**)&hlink);
+    hres = IUnknown_QueryInterface(This->document, &IID_IHlinkTarget, (void**)&hlink);
     if(SUCCEEDED(hres)) {
         IHlinkTarget_SetBrowseContext(hlink, NULL);
         IHlinkTarget_Release(hlink);
@@ -194,7 +194,7 @@ void deactivate_document(WebBrowser *Thi
 
         IOleObject_GetClientSite(oleobj, &client_site);
         if(client_site) {
-            if(client_site == CLIENTSITE(&This->doc_host))
+            if(client_site == CLIENTSITE(This))
                 IOleObject_SetClientSite(oleobj, NULL);
             IOleClientSite_Release(client_site);
         }
@@ -202,8 +202,8 @@ void deactivate_document(WebBrowser *Thi
         IOleObject_Release(oleobj);
     }
 
-    IUnknown_Release(This->doc_host.document);
-    This->doc_host.document = NULL;
+    IUnknown_Release(This->document);
+    This->document = NULL;
 }
 
 #define OLECMD_THIS(iface) DEFINE_THIS(DocHost, OleCommandTarget, iface)
diff --git a/dlls/shdocvw/navigate.c b/dlls/shdocvw/navigate.c
index e41a5db..294efcc 100644
--- a/dlls/shdocvw/navigate.c
+++ b/dlls/shdocvw/navigate.c
@@ -401,7 +401,7 @@ static HRESULT navigate(WebBrowser *This
      */
 
     if(This->doc_host.document)
-        deactivate_document(This);
+        deactivate_document(&This->doc_host);
 
     hres = CoCreateInstance(&CLSID_HTMLDocument, NULL,
                             CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
diff --git a/dlls/shdocvw/oleobject.c b/dlls/shdocvw/oleobject.c
index 4092172..e3cfa4a 100644
--- a/dlls/shdocvw/oleobject.c
+++ b/dlls/shdocvw/oleobject.c
@@ -154,7 +154,7 @@ static HRESULT WINAPI OleObject_SetClien
 
     if(!pClientSite) {
         if(This->doc_host.document)
-            deactivate_document(This);
+            deactivate_document(&This->doc_host);
         This->client = NULL;
         return S_OK;
     }
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index 09724aa..f719271 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -165,7 +165,7 @@ void WebBrowser_ClientSite_Destroy(WebBr
 HRESULT WebBrowser_Create(IUnknown*,REFIID,void**);
 
 void create_doc_view_hwnd(WebBrowser *This);
-void deactivate_document(WebBrowser*);
+void deactivate_document(DocHost*);
 void call_sink(ConnectionPoint*,DISPID,DISPPARAMS*);
 HRESULT navigate_url(WebBrowser*,LPCWSTR,PBYTE,ULONG,LPWSTR);
 




More information about the wine-cvs mailing list