Jacek Caban : mshtml: Activate nsWebBrowser after creating document
window.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Jun 25 07:28:22 CDT 2007
Module: wine
Branch: master
Commit: 946acd062dcab27c2f41e0e513d6ca00ddc1323f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=946acd062dcab27c2f41e0e513d6ca00ddc1323f
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Jun 22 23:32:22 2007 +0200
mshtml: Activate nsWebBrowser after creating document window.
---
dlls/mshtml/view.c | 22 ++++++++++++----------
1 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/dlls/mshtml/view.c b/dlls/mshtml/view.c
index cbd8c89..14648c7 100644
--- a/dlls/mshtml/view.c
+++ b/dlls/mshtml/view.c
@@ -84,16 +84,16 @@ static void paint_document(HTMLDocument *This)
EndPaint(This->hwnd, &ps);
}
-static void activate_gecko(HTMLDocument *This)
+static void activate_gecko(NSContainer *This)
{
- TRACE("(%p) %p\n", This, This->nscontainer->window);
+ TRACE("(%p) %p\n", This, This->window);
- SetParent(This->nscontainer->hwnd, This->hwnd);
- ShowWindow(This->nscontainer->hwnd, SW_SHOW);
+ SetParent(This->hwnd, This->doc->hwnd);
+ ShowWindow(This->hwnd, SW_SHOW);
- nsIBaseWindow_SetVisibility(This->nscontainer->window, TRUE);
- nsIBaseWindow_SetEnabled(This->nscontainer->window, TRUE);
- nsIWebBrowserFocus_Activate(This->nscontainer->focus);
+ nsIBaseWindow_SetVisibility(This->window, TRUE);
+ nsIBaseWindow_SetEnabled(This->window, TRUE);
+ nsIWebBrowserFocus_Activate(This->focus);
}
void update_doc(HTMLDocument *This, DWORD flags)
@@ -180,8 +180,6 @@ static LRESULT WINAPI serverwnd_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM
switch(msg) {
case WM_CREATE:
This->hwnd = hwnd;
- if(This->nscontainer)
- activate_gecko(This);
break;
case WM_PAINT:
paint_document(This);
@@ -242,7 +240,8 @@ static HRESULT activate_window(HTMLDocument *This)
return FAILED(hres) ? hres : E_FAIL;
}
- hres = IOleInPlaceSite_GetWindowContext(This->ipsite, &pIPFrame, &pIPWnd, &posrect, &cliprect, &frameinfo);
+ hres = IOleInPlaceSite_GetWindowContext(This->ipsite, &pIPFrame, &pIPWnd,
+ &posrect, &cliprect, &frameinfo);
if(FAILED(hres)) {
WARN("GetWindowContext failed: %08x\n", hres);
return hres;
@@ -289,6 +288,9 @@ static HRESULT activate_window(HTMLDocument *This)
SetTimer(This->hwnd, TIMER_ID, 100, NULL);
}
+ if(This->nscontainer)
+ activate_gecko(This->nscontainer);
+
This->in_place_active = TRUE;
hres = IOleInPlaceSite_QueryInterface(This->ipsite, &IID_IOleInPlaceSiteEx, (void**)&ipsiteex);
if(SUCCEEDED(hres)) {
More information about the wine-cvs
mailing list