Alexandre Julliard : user32/tests: Add some more optional messages.
Alexandre Julliard
julliard at winehq.org
Tue Mar 3 11:53:45 CST 2009
Module: wine
Branch: master
Commit: 114da7c46b55000c9e9e03dccab93117e8d6d12b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=114da7c46b55000c9e9e03dccab93117e8d6d12b
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Mar 3 13:20:49 2009 +0100
user32/tests: Add some more optional messages.
---
dlls/user32/tests/msg.c | 26 ++++++++++++++++++--------
1 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index d8bfd26..4a51600 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -180,6 +180,7 @@ static const struct message WmSWP_ShowOverlappedSeq[] = {
{ WM_NCPAINT, sent|wparam|optional, 1 },
{ WM_ERASEBKGND, sent|optional },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
+ { WM_SYNCPAINT, sent|optional },
{ WM_PAINT, sent|optional },
{ WM_NCPAINT, sent|beginpaint|optional },
{ WM_GETTEXT, sent|defwinproc|optional },
@@ -405,9 +406,9 @@ static const struct message WmSWP_FrameChangedDeferErase[] = {
static const struct message WmSWP_FrameChanged_noclip[] = {
{ WM_WINDOWPOSCHANGING, sent|wparam|parent, SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE|SWP_FRAMECHANGED },
{ WM_NCCALCSIZE, sent|wparam|parent, 1 },
- { WM_NCPAINT, sent|parent }, /* wparam != 1 */
+ { WM_NCPAINT, sent|parent|optional }, /* wparam != 1 */
{ WM_GETTEXT, sent|parent|defwinproc|optional },
- { WM_ERASEBKGND, sent|parent|optional }, /* FIXME: remove optional once Wine is fixed */
+ { WM_ERASEBKGND, sent|parent|optional },
{ WM_WINDOWPOSCHANGED, sent|wparam|parent, SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
{ WM_PAINT, sent },
@@ -449,6 +450,7 @@ static const struct message WmShowOverlappedSeq[] = {
{ WM_GETTEXT, sent|optional },
{ WM_NCPAINT, sent|optional },
{ WM_ERASEBKGND, sent|optional },
+ { WM_SYNCPAINT, sent|optional },
#if 0 /* CreateWindow/ShowWindow(SW_SHOW) also generates WM_SIZE/WM_MOVE
* messages. Does that mean that CreateWindow doesn't set initial
* window dimensions for overlapped windows?
@@ -495,6 +497,7 @@ static const struct message WmShowMaxOverlappedSeq[] = {
{ WM_ERASEBKGND, sent|optional },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
+ { WM_SYNCPAINT, sent|optional },
{ WM_PAINT, sent|optional },
{ WM_NCPAINT, sent|beginpaint|optional },
{ WM_ERASEBKGND, sent|beginpaint|optional },
@@ -1269,6 +1272,8 @@ static const struct message WmEndCustomDialogSeq[] = {
{ WM_ACTIVATE, sent|wparam, 0 },
{ EVENT_SYSTEM_FOREGROUND, winevent_hook|wparam|lparam, 0, 0 },
{ WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
+ { WM_WINDOWPOSCHANGED, sent|wparam|optional, SWP_NOACTIVATE|SWP_NOREDRAW|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE },
+ { WM_GETTEXT, sent|optional|defwinproc },
{ HCBT_SETFOCUS, hook },
{ WM_KILLFOCUS, sent },
{ WM_IME_SETCONTEXT, sent|wparam|optional, 0 },
@@ -1346,7 +1351,7 @@ static const struct message WmModalDialogSeq[] = {
{ WM_CTLCOLORDLG, sent|optional },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
{ WM_PAINT, sent|optional },
- { WM_CTLCOLORBTN, sent },
+ { WM_CTLCOLORBTN, sent|optional },
{ WM_ENTERIDLE, sent|parent|optional },
{ WM_ENTERIDLE, sent|parent|optional },
{ WM_ENTERIDLE, sent|parent|optional },
@@ -1815,6 +1820,7 @@ static void add_message_(int line, const struct recvd_message *msg)
msg->descr, msg->hwnd, dis->CtlType, dis->CtlID,
dis->itemID, dis->itemAction, dis->itemState);
+ di.u.lp = 0;
di.u.item.type = dis->CtlType;
di.u.item.ctl_id = dis->CtlID;
di.u.item.item_id = dis->itemID;
@@ -3665,7 +3671,7 @@ static void test_mdi_messages(void)
*/
active_child = (HWND)SendMessageA(mdi_client, WM_MDIGETACTIVE, 0, (LPARAM)&zoomed);
ok(active_child == mdi_child || /* win2k */
- !active_child, /* win9x */
+ !active_child || active_child == mdi_child2, /* win9x */
"wrong active MDI child %p\n", active_child);
flush_sequence();
@@ -4484,8 +4490,6 @@ static void test_messages(void)
flush_events();
ok_sequence(WmOptionalPaint, "ShowWindow(SW_SHOW):overlapped already visible", FALSE);
- ok(GetActiveWindow() == hwnd, "window should be active\n");
- ok(GetFocus() == hwnd, "window should have input focus\n");
SetWindowPos(hwnd, 0,0,0,0,0, SWP_HIDEWINDOW|SWP_NOSIZE|SWP_NOMOVE);
ok_sequence(WmSWP_HideOverlappedSeq, "SetWindowPos:SWP_HIDEWINDOW:overlapped", FALSE);
ok(!IsWindowVisible(hwnd), "window should not be visible at this point\n");
@@ -5622,7 +5626,7 @@ static const struct message WmInvalidateErasePaint[] = {
{ WM_PAINT, sent },
{ WM_NCPAINT, sent|wparam|beginpaint, 1 },
{ WM_GETTEXT, sent|beginpaint|defwinproc|optional },
- { WM_ERASEBKGND, sent|beginpaint },
+ { WM_ERASEBKGND, sent|beginpaint|optional },
{ 0 }
};
@@ -5693,7 +5697,7 @@ static const struct message WmChildPaintNc[] = {
{ WM_PAINT, sent },
{ WM_NCPAINT, sent|beginpaint },
{ WM_GETTEXT, sent|beginpaint|defwinproc|optional },
- { WM_ERASEBKGND, sent|beginpaint },
+ { WM_ERASEBKGND, sent|beginpaint|optional },
{ 0 }
};
@@ -8201,6 +8205,10 @@ static const struct message ScrollWindowPaint1[] = {
{ WM_PAINT, sent },
{ WM_ERASEBKGND, sent|beginpaint },
{ WM_GETTEXTLENGTH, sent|optional },
+ { WM_PAINT, sent|optional },
+ { WM_NCPAINT, sent|optional },
+ { WM_GETTEXT, sent|optional },
+ { WM_ERASEBKGND, sent|optional },
{ 0 }
};
@@ -9886,6 +9894,7 @@ static const struct message WmShowNoActivate_2[] = {
{ HCBT_SETFOCUS, hook|optional },
{ HCBT_ACTIVATE, hook|optional }, /* win2003 doesn't send it */
{ WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE }, /* win2003 doesn't send it */
+ { WM_WINDOWPOSCHANGED, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE },
{ HCBT_SETFOCUS, hook|optional }, /* win2003 doesn't send it */
{ 0 }
};
@@ -10437,6 +10446,7 @@ static const struct message SetActiveWindowSeq0[] =
{ WM_IME_SETCONTEXT, sent|defwinproc|optional },
{ WM_IME_SETCONTEXT, sent|defwinproc|optional },
{ WM_IME_SETCONTEXT, sent|defwinproc|optional },
+ { WM_IME_SETCONTEXT, sent|defwinproc|optional },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 1 },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ WM_SETFOCUS, sent|defwinproc|optional },
More information about the wine-cvs
mailing list