Jacek Caban : mshtml: Create "Internet Explorer_Hidden" window.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Aug 9 10:37:22 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: cba2e19409f3360ff8fd5fff2da0a281e0ba9d6e
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=cba2e19409f3360ff8fd5fff2da0a281e0ba9d6e
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Aug 9 16:34:02 2006 +0200
mshtml: Create "Internet Explorer_Hidden" window.
---
dlls/mshtml/htmldoc.c | 1 +
dlls/mshtml/mshtml_private.h | 1 +
dlls/mshtml/view.c | 32 ++++++++++++++++++++++++++++++++
3 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index e3c7e32..c991e28 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -154,6 +154,7 @@ static ULONG WINAPI HTMLDocument_Release
DestroyWindow(This->tooltips_hwnd);
if(This->hwnd)
DestroyWindow(This->hwnd);
+ DestroyWindow(This->hidden_hwnd);
release_nodes(This);
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 5f6bece..e34c0fa 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -87,6 +87,7 @@ struct HTMLDocument {
IOleInPlaceFrame *frame;
HWND hwnd;
+ HWND hidden_hwnd;
HWND tooltips_hwnd;
USERMODE usermode;
diff --git a/dlls/mshtml/view.c b/dlls/mshtml/view.c
index b0cf67c..3302f5f 100644
--- a/dlls/mshtml/view.c
+++ b/dlls/mshtml/view.c
@@ -49,6 +49,36 @@ typedef struct {
WNDPROC proc;
} tooltip_data;
+static LRESULT WINAPI hidden_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+ if(msg > WM_USER)
+ FIXME("(%p %d %x %lx)\n", hwnd, msg, wParam, lParam);
+
+ return DefWindowProcW(hwnd, msg, wParam, lParam);
+}
+
+static void create_hidden_window(HTMLDocument *This)
+{
+ static ATOM hidden_wnd_class = 0;
+ static const WCHAR wszInternetExplorer_Hidden[] = {'I','n','t','e','r','n','e','t',
+ ' ','E','x','p','l','o','r','e','r','_','H','i','d','d','e','n',0};
+
+ if(!hidden_wnd_class) {
+ WNDCLASSEXW wndclass = {
+ sizeof(WNDCLASSEXW), 0,
+ hidden_proc,
+ 0, 0, hInst, NULL, NULL, NULL, NULL,
+ wszInternetExplorer_Hidden,
+ NULL
+ };
+
+ hidden_wnd_class = RegisterClassExW(&wndclass);
+ }
+
+ This->hidden_hwnd = CreateWindowExW(0, wszInternetExplorer_Hidden, NULL, WS_POPUP,
+ 0, 0, 0, 0, NULL, NULL, hInst, This);
+}
+
static void paint_disabled(HWND hwnd) {
HDC hdc;
PAINTSTRUCT ps;
@@ -664,4 +694,6 @@ void HTMLDocument_View_Init(HTMLDocument
This->in_place_active = FALSE;
This->ui_active = FALSE;
This->window_active = FALSE;
+
+ create_hidden_window(This);
}
More information about the wine-cvs
mailing list