Module: wine Branch: master Commit: dc15020cf527b4f2e865e40d80e4a4ce8207aa03 URL: http://source.winehq.org/git/wine.git/?a=commit;h=dc15020cf527b4f2e865e40d80...
Author: Jacek Caban jacek@codeweavers.com Date: Fri Mar 9 16:56:02 2007 +0100
shdocvw: Move frame variable to DocHost.
---
dlls/shdocvw/dochost.c | 3 +++ dlls/shdocvw/oleobject.c | 17 +++++++---------- dlls/shdocvw/shdocvw.h | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/dlls/shdocvw/dochost.c b/dlls/shdocvw/dochost.c index c170a4a..f26447d 100644 --- a/dlls/shdocvw/dochost.c +++ b/dlls/shdocvw/dochost.c @@ -490,6 +490,7 @@ void DocHost_Init(DocHost *This, IDispatch *disp)
This->document = NULL; This->hostui = NULL; + This->frame = NULL;
This->hwnd = NULL; This->frame_hwnd = NULL; @@ -508,6 +509,8 @@ void DocHost_Release(DocHost *This) { if(This->client_disp) IDispatch_Release(This->client_disp); + if(This->frame) + IOleInPlaceFrame_Release(This->frame);
DocHost_ClientSite_Release(This);
diff --git a/dlls/shdocvw/oleobject.c b/dlls/shdocvw/oleobject.c index 17f740a..aa1edfe 100644 --- a/dlls/shdocvw/oleobject.c +++ b/dlls/shdocvw/oleobject.c @@ -138,7 +138,7 @@ static HRESULT activate_inplace(WebBrowser *This, IOleClientSite *active_site)
IOleInPlaceSite_OnInPlaceActivate(This->inplace);
- IOleInPlaceSite_GetWindowContext(This->inplace, &This->frame, &This->uiwindow, + IOleInPlaceSite_GetWindowContext(This->inplace, &This->doc_host.frame, &This->uiwindow, &This->pos_rect, &This->clip_rect, &This->frameinfo);
@@ -153,8 +153,8 @@ static HRESULT activate_inplace(WebBrowser *This, IOleClientSite *active_site) IOleClientSite_GetContainer(This->client, &This->container); }
- if(This->frame) - IOleInPlaceFrame_GetWindow(This->frame, &This->frame_hwnd); + if(This->doc_host.frame) + IOleInPlaceFrame_GetWindow(This->doc_host.frame, &This->frame_hwnd);
return S_OK; } @@ -174,13 +174,13 @@ static HRESULT activate_ui(WebBrowser *This, IOleClientSite *active_site)
IOleInPlaceSite_OnUIActivate(This->inplace);
- if(This->frame) - IOleInPlaceFrame_SetActiveObject(This->frame, ACTIVEOBJ(This), wszitem); + if(This->doc_host.frame) + IOleInPlaceFrame_SetActiveObject(This->doc_host.frame, ACTIVEOBJ(This), wszitem); if(This->uiwindow) IOleInPlaceUIWindow_SetActiveObject(This->uiwindow, ACTIVEOBJ(This), wszitem);
- if(This->frame) - IOleInPlaceFrame_SetMenu(This->frame, NULL, NULL, This->shell_embedding_hwnd); + if(This->doc_host.frame) + IOleInPlaceFrame_SetMenu(This->doc_host.frame, NULL, NULL, This->shell_embedding_hwnd);
SetFocus(This->shell_embedding_hwnd);
@@ -886,7 +886,6 @@ void WebBrowser_OleObject_Init(WebBrowser *This) This->inplace = NULL; This->container = NULL; This->frame_hwnd = NULL; - This->frame = NULL; This->uiwindow = NULL; This->shell_embedding_hwnd = NULL;
@@ -904,8 +903,6 @@ void WebBrowser_OleObject_Destroy(WebBrowser *This) IOleObject_SetClientSite(OLEOBJ(This), NULL); if(This->container) IOleContainer_Release(This->container); - if(This->frame) - IOleInPlaceFrame_Release(This->frame); if(This->uiwindow) IOleInPlaceUIWindow_Release(This->uiwindow); } diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h index 0f897e7..5704156 100644 --- a/dlls/shdocvw/shdocvw.h +++ b/dlls/shdocvw/shdocvw.h @@ -76,6 +76,7 @@ typedef struct {
IDispatch *client_disp; IDocHostUIHandler *hostui; + IOleInPlaceFrame *frame;
IUnknown *document; IOleDocumentView *view; @@ -117,7 +118,6 @@ struct WebBrowser { /* window context */
HWND frame_hwnd; - IOleInPlaceFrame *frame; IOleInPlaceUIWindow *uiwindow; RECT pos_rect; RECT clip_rect;