Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
fffc8c66
Commit
fffc8c66
authored
Sep 16, 2009
by
Jacek Caban
Committed by
Alexandre Julliard
Sep 17, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Moved hwnd and tooltip_hwnd to HTMLDocumentObj.
parent
aadd0774
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
58 additions
and
56 deletions
+58
-56
htmldoc.c
dlls/mshtml/htmldoc.c
+7
-5
htmlwindow.c
dlls/mshtml/htmlwindow.c
+3
-3
mshtml_private.h
dlls/mshtml/mshtml_private.h
+6
-6
nsembed.c
dlls/mshtml/nsembed.c
+3
-3
nsevents.c
dlls/mshtml/nsevents.c
+1
-1
olecmd.c
dlls/mshtml/olecmd.c
+1
-1
olewnd.c
dlls/mshtml/olewnd.c
+4
-4
view.c
dlls/mshtml/view.c
+33
-33
No files found.
dlls/mshtml/htmldoc.c
View file @
fffc8c66
...
...
@@ -1767,11 +1767,6 @@ static void destroy_htmldoc(HTMLDocument *This)
set_document_bscallback
(
This
,
NULL
);
set_current_mon
(
This
,
NULL
);
if
(
This
->
tooltips_hwnd
)
DestroyWindow
(
This
->
tooltips_hwnd
);
if
(
This
->
hwnd
)
DestroyWindow
(
This
->
hwnd
);
if
(
This
->
event_target
)
release_event_target
(
This
->
event_target
);
...
...
@@ -1898,7 +1893,14 @@ static ULONG HTMLDocumentObj_Release(HTMLDocument *base)
IOleDocumentView_SetInPlaceSite
(
DOCVIEW
(
&
This
->
basedoc
),
NULL
);
if
(
This
->
undomgr
)
IOleUndoManager_Release
(
This
->
undomgr
);
if
(
This
->
tooltips_hwnd
)
DestroyWindow
(
This
->
tooltips_hwnd
);
if
(
This
->
hwnd
)
DestroyWindow
(
This
->
hwnd
);
destroy_htmldoc
(
&
This
->
basedoc
);
if
(
This
->
basedoc
.
nsdoc
)
remove_mutation_observer
(
This
->
nscontainer
,
This
->
basedoc
.
nsdoc
);
if
(
This
->
nscontainer
)
...
...
dlls/mshtml/htmlwindow.c
View file @
fffc8c66
...
...
@@ -252,7 +252,7 @@ static HRESULT WINAPI HTMLWindow2_alert(IHTMLWindow2 *iface, BSTR message)
return
S_OK
;
}
MessageBoxW
(
This
->
doc_obj
->
basedoc
.
hwnd
,
message
,
wszTitle
,
MB_ICONWARNING
);
MessageBoxW
(
This
->
doc_obj
->
hwnd
,
message
,
wszTitle
,
MB_ICONWARNING
);
return
S_OK
;
}
...
...
@@ -273,7 +273,7 @@ static HRESULT WINAPI HTMLWindow2_confirm(IHTMLWindow2 *iface, BSTR message,
return
S_OK
;
}
if
(
MessageBoxW
(
This
->
doc_obj
->
basedoc
.
hwnd
,
message
,
wszTitle
,
if
(
MessageBoxW
(
This
->
doc_obj
->
hwnd
,
message
,
wszTitle
,
MB_OKCANCEL
|
MB_ICONQUESTION
)
==
IDOK
)
*
confirmed
=
VARIANT_TRUE
;
else
*
confirmed
=
VARIANT_FALSE
;
...
...
@@ -366,7 +366,7 @@ static HRESULT WINAPI HTMLWindow2_prompt(IHTMLWindow2 *iface, BSTR message,
arg
.
textdata
=
textdata
;
DialogBoxParamW
(
hInst
,
MAKEINTRESOURCEW
(
ID_PROMPT_DIALOG
),
This
->
doc_obj
->
basedoc
.
hwnd
,
prompt_dlgproc
,
(
LPARAM
)
&
arg
);
This
->
doc_obj
->
hwnd
,
prompt_dlgproc
,
(
LPARAM
)
&
arg
);
return
S_OK
;
}
...
...
dlls/mshtml/mshtml_private.h
View file @
fffc8c66
...
...
@@ -289,9 +289,6 @@ struct HTMLDocument {
LPOLESTR
url
;
struct
list
bindings
;
HWND
hwnd
;
HWND
tooltips_hwnd
;
DOCHOSTUIINFO
hostinfo
;
USERMODE
usermode
;
...
...
@@ -354,6 +351,9 @@ struct HTMLDocumentObj {
IOleInPlaceUIWindow
*
ip_window
;
IOleUndoManager
*
undomgr
;
HWND
hwnd
;
HWND
tooltips_hwnd
;
};
typedef
struct
{
...
...
@@ -584,8 +584,8 @@ void HTMLDocument_LockContainer(HTMLDocumentObj*,BOOL);
void
show_context_menu
(
HTMLDocumentObj
*
,
DWORD
,
POINT
*
,
IDispatch
*
);
void
notif_focus
(
HTMLDocumentObj
*
);
void
show_tooltip
(
HTMLDocument
*
,
DWORD
,
DWORD
,
LPCWSTR
);
void
hide_tooltip
(
HTMLDocument
*
);
void
show_tooltip
(
HTMLDocument
Obj
*
,
DWORD
,
DWORD
,
LPCWSTR
);
void
hide_tooltip
(
HTMLDocument
Obj
*
);
HRESULT
get_client_disp_property
(
IOleClientSite
*
,
DISPID
,
VARIANT
*
);
HRESULT
ProtocolFactory_Create
(
REFCLSID
,
REFIID
,
void
**
);
...
...
@@ -705,7 +705,7 @@ void do_ns_command(HTMLDocument*,const char*,nsICommandParams*);
#define UPDATE_UI 0x0001
#define UPDATE_TITLE 0x0002
void
update_doc
(
HTMLDocument
*
This
,
DWORD
flags
);
void
update_doc
(
HTMLDocument
*
,
DWORD
);
void
update_title
(
HTMLDocumentObj
*
);
/* editor */
...
...
dlls/mshtml/nsembed.c
View file @
fffc8c66
...
...
@@ -1441,7 +1441,7 @@ static nsresult NSAPI nsEmbeddingSiteWindow_GetVisibility(nsIEmbeddingSiteWindow
TRACE
(
"(%p)->(%p)
\n
"
,
This
,
aVisibility
);
*
aVisibility
=
This
->
doc
&&
This
->
doc
->
basedoc
.
hwnd
&&
IsWindowVisible
(
This
->
doc
->
basedoc
.
hwnd
);
*
aVisibility
=
This
->
doc
&&
This
->
doc
->
hwnd
&&
IsWindowVisible
(
This
->
doc
->
hwnd
);
return
NS_OK
;
}
...
...
@@ -1523,7 +1523,7 @@ static nsresult NSAPI nsTooltipListener_OnShowTooltip(nsITooltipListener *iface,
NSContainer
*
This
=
NSTOOLTIP_THIS
(
iface
);
if
(
This
->
doc
)
show_tooltip
(
&
This
->
doc
->
base
doc
,
aXCoord
,
aYCoord
,
aTipText
);
show_tooltip
(
This
->
doc
,
aXCoord
,
aYCoord
,
aTipText
);
return
NS_OK
;
}
...
...
@@ -1533,7 +1533,7 @@ static nsresult NSAPI nsTooltipListener_OnHideTooltip(nsITooltipListener *iface)
NSContainer
*
This
=
NSTOOLTIP_THIS
(
iface
);
if
(
This
->
doc
)
hide_tooltip
(
&
This
->
doc
->
base
doc
);
hide_tooltip
(
This
->
doc
);
return
NS_OK
;
}
...
...
dlls/mshtml/nsevents.c
View file @
fffc8c66
...
...
@@ -80,7 +80,7 @@ static BOOL is_doc_child_focus(NSContainer *This)
if
(
!
This
->
doc
)
return
FALSE
;
for
(
hwnd
=
GetFocus
();
hwnd
&&
hwnd
!=
This
->
doc
->
basedoc
.
doc_obj
->
basedoc
.
hwnd
;
hwnd
=
GetParent
(
hwnd
));
for
(
hwnd
=
GetFocus
();
hwnd
&&
hwnd
!=
This
->
doc
->
basedoc
.
doc_obj
->
hwnd
;
hwnd
=
GetParent
(
hwnd
));
return
hwnd
!=
NULL
;
}
...
...
dlls/mshtml/olecmd.c
View file @
fffc8c66
...
...
@@ -912,7 +912,7 @@ void show_context_menu(HTMLDocumentObj *This, DWORD dwID, POINT *ppt, IDispatch
menu
=
GetSubMenu
(
menu_res
,
dwID
);
cmdid
=
TrackPopupMenu
(
menu
,
TPM_LEFTALIGN
|
TPM_RIGHTBUTTON
|
TPM_RETURNCMD
,
ppt
->
x
,
ppt
->
y
,
0
,
This
->
basedoc
.
hwnd
,
NULL
);
ppt
->
x
,
ppt
->
y
,
0
,
This
->
hwnd
,
NULL
);
DestroyMenu
(
menu_res
);
if
(
cmdid
)
...
...
dlls/mshtml/olewnd.c
View file @
fffc8c66
...
...
@@ -73,7 +73,7 @@ static HRESULT WINAPI OleInPlaceActiveObject_GetWindow(IOleInPlaceActiveObject *
return
E_FAIL
;
}
*
phwnd
=
This
->
hwnd
;
*
phwnd
=
This
->
doc_obj
->
hwnd
;
return
S_OK
;
}
...
...
@@ -196,9 +196,9 @@ static HRESULT WINAPI OleInPlaceObjectWindowless_InPlaceDeactivate(IOleInPlaceOb
if
(
This
->
doc_obj
->
frame
)
IOleInPlaceFrame_Release
(
This
->
doc_obj
->
frame
);
if
(
This
->
hwnd
)
{
ShowWindow
(
This
->
hwnd
,
SW_HIDE
);
SetWindowPos
(
This
->
hwnd
,
HWND_TOPMOST
,
0
,
0
,
0
,
0
,
SWP_NOSIZE
|
SWP_NOMOVE
|
SWP_NOACTIVATE
);
if
(
This
->
doc_obj
->
hwnd
)
{
ShowWindow
(
This
->
doc_obj
->
hwnd
,
SW_HIDE
);
SetWindowPos
(
This
->
doc_obj
->
hwnd
,
HWND_TOPMOST
,
0
,
0
,
0
,
0
,
SWP_NOSIZE
|
SWP_NOMOVE
|
SWP_NOACTIVATE
);
}
This
->
focus
=
FALSE
;
...
...
dlls/mshtml/view.c
View file @
fffc8c66
...
...
@@ -46,7 +46,7 @@ static const WCHAR wszTooltipData[] = {'t','o','o','l','t','i','p','_','d','a','
static
ATOM
serverwnd_class
=
0
;
typedef
struct
{
HTMLDocument
*
doc
;
HTMLDocument
Obj
*
doc
;
WNDPROC
proc
;
}
tooltip_data
;
...
...
@@ -56,9 +56,9 @@ static void paint_document(HTMLDocumentObj *This)
RECT
rect
;
HDC
hdc
;
GetClientRect
(
This
->
basedoc
.
hwnd
,
&
rect
);
GetClientRect
(
This
->
hwnd
,
&
rect
);
hdc
=
BeginPaint
(
This
->
basedoc
.
hwnd
,
&
ps
);
hdc
=
BeginPaint
(
This
->
hwnd
,
&
ps
);
if
(
!
(
This
->
basedoc
.
hostinfo
.
dwFlags
&
(
DOCHOSTUIFLAG_NO3DOUTERBORDER
|
DOCHOSTUIFLAG_NO3DBORDER
)))
DrawEdge
(
hdc
,
&
rect
,
EDGE_SUNKEN
,
BF_RECT
|
BF_ADJUST
);
...
...
@@ -80,14 +80,14 @@ static void paint_document(HTMLDocumentObj *This)
DeleteObject
(
font
);
}
EndPaint
(
This
->
basedoc
.
hwnd
,
&
ps
);
EndPaint
(
This
->
hwnd
,
&
ps
);
}
static
void
activate_gecko
(
NSContainer
*
This
)
{
TRACE
(
"(%p) %p
\n
"
,
This
,
This
->
window
);
SetParent
(
This
->
hwnd
,
This
->
doc
->
basedoc
.
hwnd
);
SetParent
(
This
->
hwnd
,
This
->
doc
->
hwnd
);
ShowWindow
(
This
->
hwnd
,
SW_SHOW
);
nsIBaseWindow_SetVisibility
(
This
->
window
,
TRUE
);
...
...
@@ -97,8 +97,8 @@ static void activate_gecko(NSContainer *This)
void
update_doc
(
HTMLDocument
*
This
,
DWORD
flags
)
{
if
(
!
This
->
update
&&
This
->
hwnd
)
SetTimer
(
This
->
doc_obj
->
basedoc
.
hwnd
,
TIMER_ID
,
100
,
NULL
);
if
(
!
This
->
update
&&
This
->
doc_obj
->
hwnd
)
SetTimer
(
This
->
doc_obj
->
hwnd
,
TIMER_ID
,
100
,
NULL
);
This
->
update
|=
flags
;
}
...
...
@@ -135,7 +135,7 @@ static LRESULT on_timer(HTMLDocumentObj *This)
{
TRACE
(
"(%p) %x
\n
"
,
This
,
This
->
basedoc
.
update
);
KillTimer
(
This
->
basedoc
.
hwnd
,
TIMER_ID
);
KillTimer
(
This
->
hwnd
,
TIMER_ID
);
if
(
!
This
->
basedoc
.
update
)
return
0
;
...
...
@@ -181,12 +181,12 @@ void notif_focus(HTMLDocumentObj *This)
static
LRESULT
WINAPI
serverwnd_proc
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wParam
,
LPARAM
lParam
)
{
HTMLDocument
*
This
;
HTMLDocument
Obj
*
This
;
static
const
WCHAR
wszTHIS
[]
=
{
'T'
,
'H'
,
'I'
,
'S'
,
0
};
if
(
msg
==
WM_CREATE
)
{
This
=
*
(
HTMLDocument
**
)
lParam
;
This
=
*
(
HTMLDocument
Obj
**
)
lParam
;
SetPropW
(
hwnd
,
wszTHIS
,
This
);
}
else
{
This
=
GetPropW
(
hwnd
,
wszTHIS
);
...
...
@@ -197,25 +197,25 @@ static LRESULT WINAPI serverwnd_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM
This
->
hwnd
=
hwnd
;
break
;
case
WM_PAINT
:
paint_document
(
This
->
doc_obj
);
paint_document
(
This
);
break
;
case
WM_SIZE
:
TRACE
(
"(%p)->(WM_SIZE)
\n
"
,
This
);
if
(
This
->
doc_obj
->
nscontainer
)
{
if
(
This
->
nscontainer
)
{
INT
ew
=
0
,
eh
=
0
;
if
(
!
(
This
->
doc_obj
->
basedoc
.
hostinfo
.
dwFlags
&
(
DOCHOSTUIFLAG_NO3DOUTERBORDER
|
DOCHOSTUIFLAG_NO3DBORDER
)))
{
if
(
!
(
This
->
basedoc
.
hostinfo
.
dwFlags
&
(
DOCHOSTUIFLAG_NO3DOUTERBORDER
|
DOCHOSTUIFLAG_NO3DBORDER
)))
{
ew
=
GetSystemMetrics
(
SM_CXEDGE
);
eh
=
GetSystemMetrics
(
SM_CYEDGE
);
}
SetWindowPos
(
This
->
doc_obj
->
nscontainer
->
hwnd
,
NULL
,
ew
,
eh
,
SetWindowPos
(
This
->
nscontainer
->
hwnd
,
NULL
,
ew
,
eh
,
LOWORD
(
lParam
)
-
2
*
ew
,
HIWORD
(
lParam
)
-
2
*
eh
,
SWP_NOZORDER
|
SWP_NOACTIVATE
);
}
break
;
case
WM_TIMER
:
return
on_timer
(
This
->
doc_obj
);
return
on_timer
(
This
);
case
WM_MOUSEACTIVATE
:
return
MA_ACTIVATE
;
}
...
...
@@ -276,10 +276,10 @@ static HRESULT activate_window(HTMLDocumentObj *This)
TRACE
(
"got parent window %p
\n
"
,
parent_hwnd
);
if
(
This
->
basedoc
.
hwnd
)
{
if
(
GetParent
(
This
->
basedoc
.
hwnd
)
!=
parent_hwnd
)
SetParent
(
This
->
basedoc
.
hwnd
,
parent_hwnd
);
SetWindowPos
(
This
->
basedoc
.
hwnd
,
HWND_TOP
,
if
(
This
->
hwnd
)
{
if
(
GetParent
(
This
->
hwnd
)
!=
parent_hwnd
)
SetParent
(
This
->
hwnd
,
parent_hwnd
);
SetWindowPos
(
This
->
hwnd
,
HWND_TOP
,
posrect
.
left
,
posrect
.
top
,
posrect
.
right
-
posrect
.
left
,
posrect
.
bottom
-
posrect
.
top
,
SWP_NOACTIVATE
|
SWP_SHOWWINDOW
);
}
else
{
...
...
@@ -288,17 +288,17 @@ static HRESULT activate_window(HTMLDocumentObj *This)
posrect
.
left
,
posrect
.
top
,
posrect
.
right
-
posrect
.
left
,
posrect
.
bottom
-
posrect
.
top
,
parent_hwnd
,
NULL
,
hInst
,
This
);
TRACE
(
"Created window %p
\n
"
,
This
->
basedoc
.
hwnd
);
TRACE
(
"Created window %p
\n
"
,
This
->
hwnd
);
SetWindowPos
(
This
->
basedoc
.
hwnd
,
NULL
,
0
,
0
,
0
,
0
,
SetWindowPos
(
This
->
hwnd
,
NULL
,
0
,
0
,
0
,
0
,
SWP_NOSIZE
|
SWP_NOMOVE
|
SWP_NOZORDER
|
SWP_NOREDRAW
|
SWP_NOACTIVATE
|
SWP_SHOWWINDOW
);
RedrawWindow
(
This
->
basedoc
.
hwnd
,
NULL
,
NULL
,
RDW_INVALIDATE
|
RDW_NOERASE
|
RDW_ALLCHILDREN
);
RedrawWindow
(
This
->
hwnd
,
NULL
,
NULL
,
RDW_INVALIDATE
|
RDW_NOERASE
|
RDW_ALLCHILDREN
);
/* NOTE:
* Windows implementation calls:
* RegisterWindowMessage("MSWHEEL_ROLLMSG");
*/
SetTimer
(
This
->
basedoc
.
hwnd
,
TIMER_ID
,
100
,
NULL
);
SetTimer
(
This
->
hwnd
,
TIMER_ID
,
100
,
NULL
);
}
if
(
This
->
nscontainer
)
...
...
@@ -369,7 +369,7 @@ static LRESULT WINAPI tooltips_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM l
return
CallWindowProcW
(
data
->
proc
,
hwnd
,
msg
,
wParam
,
lParam
);
}
static
void
create_tooltips_window
(
HTMLDocument
*
This
)
static
void
create_tooltips_window
(
HTMLDocument
Obj
*
This
)
{
tooltip_data
*
data
=
heap_alloc
(
sizeof
(
*
data
));
...
...
@@ -388,7 +388,7 @@ static void create_tooltips_window(HTMLDocument *This)
}
void
show_tooltip
(
HTMLDocument
*
This
,
DWORD
x
,
DWORD
y
,
LPCWSTR
text
)
void
show_tooltip
(
HTMLDocument
Obj
*
This
,
DWORD
x
,
DWORD
y
,
LPCWSTR
text
)
{
TTTOOLINFOW
toolinfo
=
{
sizeof
(
TTTOOLINFOW
),
0
,
This
->
hwnd
,
0xdeadbeef
,
...
...
@@ -406,7 +406,7 @@ void show_tooltip(HTMLDocument *This, DWORD x, DWORD y, LPCWSTR text)
SendMessageW
(
This
->
tooltips_hwnd
,
TTM_RELAYEVENT
,
0
,
(
LPARAM
)
&
msg
);
}
void
hide_tooltip
(
HTMLDocument
*
This
)
void
hide_tooltip
(
HTMLDocument
Obj
*
This
)
{
TTTOOLINFOW
toolinfo
=
{
sizeof
(
TTTOOLINFOW
),
0
,
This
->
hwnd
,
0xdeadbeef
,
...
...
@@ -507,11 +507,11 @@ static HRESULT WINAPI OleDocumentView_SetRect(IOleDocumentView *iface, LPRECT pr
if
(
!
prcView
)
return
E_INVALIDARG
;
if
(
This
->
hwnd
)
{
GetClientRect
(
This
->
hwnd
,
&
rect
);
if
(
This
->
doc_obj
->
hwnd
)
{
GetClientRect
(
This
->
doc_obj
->
hwnd
,
&
rect
);
if
(
memcmp
(
prcView
,
&
rect
,
sizeof
(
RECT
)))
{
InvalidateRect
(
This
->
hwnd
,
NULL
,
TRUE
);
SetWindowPos
(
This
->
hwnd
,
NULL
,
prcView
->
left
,
prcView
->
top
,
prcView
->
right
,
InvalidateRect
(
This
->
doc_obj
->
hwnd
,
NULL
,
TRUE
);
SetWindowPos
(
This
->
doc_obj
->
hwnd
,
NULL
,
prcView
->
left
,
prcView
->
top
,
prcView
->
right
,
prcView
->
bottom
,
SWP_NOZORDER
|
SWP_NOACTIVATE
);
}
}
...
...
@@ -528,7 +528,7 @@ static HRESULT WINAPI OleDocumentView_GetRect(IOleDocumentView *iface, LPRECT pr
if
(
!
prcView
)
return
E_INVALIDARG
;
GetClientRect
(
This
->
hwnd
,
prcView
);
GetClientRect
(
This
->
doc_obj
->
hwnd
,
prcView
);
return
S_OK
;
}
...
...
@@ -554,9 +554,9 @@ static HRESULT WINAPI OleDocumentView_Show(IOleDocumentView *iface, BOOL fShow)
return
hres
;
}
update_doc
(
This
,
UPDATE_UI
);
ShowWindow
(
This
->
hwnd
,
SW_SHOW
);
ShowWindow
(
This
->
doc_obj
->
hwnd
,
SW_SHOW
);
}
else
{
ShowWindow
(
This
->
hwnd
,
SW_HIDE
);
ShowWindow
(
This
->
doc_obj
->
hwnd
,
SW_HIDE
);
if
(
This
->
doc_obj
->
ip_window
)
{
IOleInPlaceUIWindow_Release
(
This
->
doc_obj
->
ip_window
);
This
->
doc_obj
->
ip_window
=
NULL
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment