user32/tests: Fix most message tests to pass on Vista.

This commit is contained in:
Alexandre Julliard 2008-03-04 20:00:13 +01:00
parent 0fe3a59b46
commit 8ac29dd4a8
1 changed files with 106 additions and 3 deletions

View File

@ -121,6 +121,8 @@ static const struct message WmCreateOverlappedSeq[] = {
{ WM_GETMINMAXINFO, sent },
{ WM_NCCREATE, sent },
{ WM_NCCALCSIZE, sent|wparam, 0 },
{ 0x0093, sent|defwinproc|optional },
{ 0x0094, sent|defwinproc|optional },
{ EVENT_OBJECT_REORDER, winevent_hook|wparam|lparam, 0, 0 },
{ WM_CREATE, sent },
{ EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam, 0, 0 },
@ -472,8 +474,10 @@ static const struct message WmHideOverlappedSeq[] = {
/* DestroyWindow for a visible overlapped window */
static const struct message WmDestroyOverlappedSeq[] = {
{ HCBT_DESTROYWND, hook },
{ 0x0090, sent|optional },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ EVENT_OBJECT_HIDE, winevent_hook|wparam|lparam, 0, 0 },
{ 0x0090, sent|optional },
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE },
{ WM_NCACTIVATE, sent|wparam, 0 },
{ WM_ACTIVATE, sent|wparam, 0 },
@ -914,6 +918,7 @@ static const struct message WmHideChildInvisibleParentSeq_2[] = {
/* DestroyWindow for a visible child window */
static const struct message WmDestroyChildSeq[] = {
{ HCBT_DESTROYWND, hook },
{ 0x0090, sent|optional },
{ WM_PARENTNOTIFY, sent|parent|wparam, WM_DESTROY },
{ WM_SHOWWINDOW, sent|wparam, 0 },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
@ -936,6 +941,7 @@ static const struct message WmDestroyChildSeq[] = {
/* DestroyWindow for a visible child window with invisible parent */
static const struct message WmDestroyInvisibleChildSeq[] = {
{ HCBT_DESTROYWND, hook },
{ 0x0090, sent|optional },
{ WM_PARENTNOTIFY, sent|parent|wparam, WM_DESTROY },
{ WM_SHOWWINDOW, sent|wparam, 0 },
{ EVENT_OBJECT_DESTROY, winevent_hook|wparam|lparam, 0, 0 },
@ -1215,6 +1221,7 @@ static const struct message WmModalDialogSeq[] = {
{ WM_SETFOCUS, sent|parent|defwinproc },
{ EVENT_SYSTEM_DIALOGEND, winevent_hook|wparam|lparam, 0, 0 },
{ HCBT_DESTROYWND, hook },
{ 0x0090, sent|optional },
{ EVENT_OBJECT_DESTROY, winevent_hook|wparam|lparam, 0, 0 },
{ WM_DESTROY, sent },
{ WM_NCDESTROY, sent },
@ -1276,16 +1283,27 @@ static const struct message WmSetMenuNonVisibleNoSizeChangeSeq[] = {
static const struct message WmSetMenuVisibleSizeChangeSeq[] = {
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_NCCALCSIZE, sent|wparam, 1 },
{ 0x0093, sent|defwinproc|optional },
{ EVENT_OBJECT_REORDER, winevent_hook|wparam|lparam, 0, 0 },
{ WM_NCPAINT, sent }, /* wparam != 1 */
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0091, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ WM_GETTEXT, sent|defwinproc|optional },
{ WM_ERASEBKGND, sent|optional },
{ WM_ACTIVATE, sent|optional },
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_MOVE, sent|defwinproc },
{ WM_SIZE, sent|defwinproc|wparam, SIZE_RESTORED },
{ 0x0093, sent|optional },
{ WM_NCCALCSIZE, sent|wparam|optional, 1 },
{ 0x0093, sent|defwinproc|optional },
{ WM_NCPAINT, sent|optional }, /* wparam != 1 */
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0091, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ WM_ERASEBKGND, sent|optional },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* XP sends a duplicate */
@ -1308,10 +1326,16 @@ static const struct message WmDrawMenuBarSeq[] =
{
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_NCCALCSIZE, sent|wparam, 1 },
{ 0x0093, sent|defwinproc|optional },
{ WM_NCPAINT, sent }, /* wparam != 1 */
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0091, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ WM_GETTEXT, sent|defwinproc|optional },
{ WM_ERASEBKGND, sent|optional },
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE },
{ 0x0093, sent|optional },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 },
{ 0 }
};
@ -1390,6 +1414,14 @@ static const struct message WmSetScrollRangeHV_NC_Seq[] =
{ WM_NCCALCSIZE, sent|wparam, 1 },
{ EVENT_OBJECT_REORDER, winevent_hook|wparam|lparam, 0, 0 },
{ WM_NCPAINT, sent|optional },
{ WM_STYLECHANGING, sent|defwinproc|optional },
{ WM_STYLECHANGED, sent|defwinproc|optional },
{ WM_STYLECHANGING, sent|defwinproc|optional },
{ WM_STYLECHANGED, sent|defwinproc|optional },
{ WM_STYLECHANGING, sent|defwinproc|optional },
{ WM_STYLECHANGED, sent|defwinproc|optional },
{ WM_STYLECHANGING, sent|defwinproc|optional },
{ WM_STYLECHANGED, sent|defwinproc|optional },
{ WM_GETTEXT, sent|defwinproc|optional },
{ WM_GETTEXT, sent|defwinproc|optional },
{ WM_ERASEBKGND, sent|optional },
@ -1703,6 +1735,7 @@ static const struct message WmCreateMDIframeSeq[] = {
/* DestroyWindow for MDI frame window, initially visible */
static const struct message WmDestroyMDIframeSeq[] = {
{ HCBT_DESTROYWND, hook },
{ 0x0090, sent|optional },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ EVENT_OBJECT_HIDE, winevent_hook|wparam|lparam, 0, 0 },
{ WM_NCACTIVATE, sent|wparam|optional, 0 }, /* Win9x */
@ -1754,6 +1787,7 @@ static const struct message WmHideMDIclientSeq[] = {
/* DestroyWindow for MDI client window, initially visible */
static const struct message WmDestroyMDIclientSeq[] = {
{ HCBT_DESTROYWND, hook },
{ 0x0090, sent|optional },
{ WM_PARENTNOTIFY, sent|wparam, WM_DESTROY }, /* in MDI frame */
{ WM_SHOWWINDOW, sent|wparam, 0 },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
@ -1848,6 +1882,7 @@ static const struct message WmDestroyMDIchildVisibleSeq[] = {
* while Win9x doesn't bother to set child window id according to
* CLIENTCREATESTRUCT.idFirstChild
*/
{ 0x0090, sent|optional },
{ WM_PARENTNOTIFY, sent /*|wparam, WM_DESTROY*/ }, /* in MDI client */
{ WM_SHOWWINDOW, sent|wparam, 0 },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
@ -1933,6 +1968,7 @@ static const struct message WmDestroyMDIchildInvisibleSeq[] = {
* while Win9x doesn't bother to set child window id according to
* CLIENTCREATESTRUCT.idFirstChild
*/
{ 0x0090, sent|optional },
{ WM_PARENTNOTIFY, sent /*|wparam, WM_DESTROY*/ }, /* in MDI client */
{ EVENT_OBJECT_DESTROY, winevent_hook|wparam|lparam, 0, 0 },
{ WM_DESTROY, sent },
@ -2149,6 +2185,9 @@ static const struct message WmCreateMDIchildVisibleMaxSeq3[] = {
/* in MDI frame */
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_NCCALCSIZE, sent|wparam, 1 },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_MOVE, sent|defwinproc },
{ WM_SIZE, sent|defwinproc|wparam, SIZE_RESTORED },
@ -2162,12 +2201,17 @@ static const struct message WmCreateMDIchildVisibleMaxSeq3[] = {
/* in MDI child */
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOACTIVATE },
{ WM_NCCALCSIZE, sent|wparam, 1 },
{ 0x0093, sent|optional },
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOCLIENTMOVE },
{ WM_SIZE, sent|defwinproc|wparam, SIZE_MAXIMIZED },
{ 0x0093, sent|optional },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, /* MDI child */
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, /* MDI client */
{ WM_NCCALCSIZE, sent|wparam|optional, 1 }, /* XP sends it to MDI frame */
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, /* MDI frame */
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, /* XP sends a duplicate */
@ -2286,6 +2330,7 @@ static const struct message WmDestroyMDIchildVisibleMaxSeq2[] = {
* while Win9x doesn't bother to set child window id according to
* CLIENTCREATESTRUCT.idFirstChild
*/
{ 0x0090, sent|defwinproc|optional },
{ WM_PARENTNOTIFY, sent /*|wparam, WM_DESTROY*/ }, /* in MDI client */
{ WM_SHOWWINDOW, sent|defwinproc|wparam, 0 },
{ WM_WINDOWPOSCHANGING, sent|wparam|defwinproc, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
@ -2329,6 +2374,8 @@ static const struct message WmDestroyMDIchildVisibleMaxSeq1[] = {
/* in MDI frame */
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_NCCALCSIZE, sent|wparam, 1 },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_MOVE, sent|defwinproc },
{ WM_SIZE, sent|defwinproc|wparam, SIZE_RESTORED },
@ -2354,6 +2401,9 @@ static const struct message WmDestroyMDIchildVisibleMaxSeq1[] = {
/* in MDI frame */
{ WM_WINDOWPOSCHANGING, sent|wparam|defwinproc, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_NCCALCSIZE, sent|wparam|defwinproc, 1 },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ WM_WINDOWPOSCHANGED, sent|wparam|defwinproc, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_MOVE, sent|defwinproc },
{ WM_SIZE, sent|defwinproc|wparam, SIZE_RESTORED },
@ -2372,7 +2422,12 @@ static const struct message WmDestroyMDIchildVisibleMaxSeq1[] = {
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, /* MDI child */
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, /* MDI client */
{ 0x0093, sent|defwinproc|optional },
{ WM_NCCALCSIZE, sent|wparam|defwinproc|optional, 1 }, /* XP sends it to MDI frame */
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|optional },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, /* MDI frame */
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, /* MDI child */
@ -2383,8 +2438,12 @@ static const struct message WmDestroyMDIchildVisibleMaxSeq1[] = {
/* in MDI frame */
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_NCCALCSIZE, sent|wparam, 1 },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, /* MDI frame */
{ 0x0093, sent|optional },
{ WM_NCACTIVATE, sent|wparam, 0 },
{ WM_MDIACTIVATE, sent },
@ -2438,6 +2497,7 @@ static const struct message WmDestroyMDIchildVisibleMaxSeq1[] = {
* while Win9x doesn't bother to set child window id according to
* CLIENTCREATESTRUCT.idFirstChild
*/
{ 0x0090, sent|optional },
{ WM_PARENTNOTIFY, sent /*|wparam, WM_DESTROY*/ }, /* in MDI client */
{ WM_SHOWWINDOW, sent|wparam, 0 },
@ -2533,6 +2593,18 @@ static const struct message WmMaximizeMDIchildInvisibleParentSeq[] = {
/* in MDI frame */
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_NCCALCSIZE, sent|wparam, 1 },
{ 0x0093, sent|defwinproc|optional },
{ 0x0094, sent|defwinproc|optional },
{ 0x0094, sent|defwinproc|optional },
{ 0x0094, sent|defwinproc|optional },
{ 0x0094, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0091, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOACTIVATE|SWP_NOSIZE|SWP_NOMOVE },
{ WM_MOVE, sent|defwinproc },
{ WM_SIZE, sent|defwinproc|wparam, SIZE_RESTORED },
@ -2554,7 +2626,16 @@ static const struct message WmMaximizeMDIchildInvisibleParentSeq[] = {
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* MDI child XP */
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* MDI client XP */
/* in MDI frame */
{ 0x0093, sent|optional },
{ WM_NCCALCSIZE, sent|wparam|optional, 1 },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0093, sent|defwinproc|optional },
{ 0x0091, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ 0x0092, sent|defwinproc|optional },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* MDI frame XP */
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* MDI frame XP */
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* MDI child XP */
@ -5111,7 +5192,8 @@ static void test_paint_messages(void)
trace("testing InvalidateRgn(0, NULL, FALSE)\n");
SetLastError(0xdeadbeef);
ok(!InvalidateRgn(0, NULL, FALSE), "InvalidateRgn(0, NULL, FALSE) should fail\n");
ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE, "wrong error code %d\n", GetLastError());
ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE || GetLastError() == 0xdeadbeef,
"wrong error code %d\n", GetLastError());
check_update_rgn( hwnd, 0 );
flush_events();
ok_sequence( WmEmptySeq, "WmEmptySeq", FALSE );
@ -5539,7 +5621,8 @@ static void test_interthread_messages(void)
SetLastError(0xdeadbeef);
ok(!DestroyWindow(wnd_event.hwnd), "DestroyWindow succeded\n");
ok(GetLastError() == ERROR_ACCESS_DENIED, "wrong error code %d\n", GetLastError());
ok(GetLastError() == ERROR_ACCESS_DENIED || GetLastError() == 0xdeadbeef,
"wrong error code %d\n", GetLastError());
proc = (WNDPROC)GetWindowLongPtrA(wnd_event.hwnd, GWLP_WNDPROC);
ok(proc != NULL, "GetWindowLongPtrA(GWLP_WNDPROC) error %d\n", GetLastError());
@ -7610,7 +7693,9 @@ static void test_scrollwindowex(void)
static const struct message destroy_window_with_children[] = {
{ EVENT_SYSTEM_CAPTURESTART, winevent_hook|wparam|lparam, 0, 0 }, /* popup */
{ HCBT_DESTROYWND, hook|lparam, 0, WND_PARENT_ID }, /* parent */
{ 0x0090, sent|optional },
{ HCBT_DESTROYWND, hook|lparam, 0, WND_POPUP_ID }, /* popup */
{ 0x0090, sent|optional },
{ EVENT_OBJECT_DESTROY, winevent_hook|wparam|lparam, 0, 0 }, /* popup */
{ WM_DESTROY, sent|wparam|lparam, 0, WND_POPUP_ID }, /* popup */
{ WM_CAPTURECHANGED, sent|wparam|lparam, 0, WND_POPUP_ID }, /* popup */
@ -7930,7 +8015,10 @@ static const struct message sl_edit_setfocus[] =
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|wparam, 0 },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 10 },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 15 },
{ WM_CTLCOLOREDIT, sent|parent },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 11 },
{ EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ WM_COMMAND, sent|parent|wparam, MAKEWPARAM(ID_EDIT, EN_SETFOCUS) },
@ -7943,6 +8031,8 @@ static const struct message ml_edit_setfocus[] =
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|wparam, 0 },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 10 },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 11 },
{ EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ WM_COMMAND, sent|parent|wparam, MAKEWPARAM(ID_EDIT, EN_SETFOCUS) },
@ -7974,7 +8064,9 @@ static const struct message sl_edit_lbutton_down[] =
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|wparam|defwinproc, 0 },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 10 },
{ WM_CTLCOLOREDIT, sent|parent },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 11 },
{ EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
@ -7982,6 +8074,7 @@ static const struct message sl_edit_lbutton_down[] =
{ EVENT_SYSTEM_CAPTURESTART, winevent_hook|wparam|lparam, 0, 0 },
{ EVENT_OBJECT_HIDE, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ WM_CTLCOLOREDIT, sent|parent|optional },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 11 },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ 0 }
@ -7995,6 +8088,8 @@ static const struct message ml_edit_lbutton_down[] =
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|wparam|defwinproc, 0 },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 10 },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 11 },
{ EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ WM_COMMAND, sent|parent|wparam, MAKEWPARAM(ID_EDIT, EN_SETFOCUS) },
@ -9020,7 +9115,7 @@ static const struct message WmShowNoActivate_2[] = {
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_SHOWWINDOW|SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|0x8000 },
{ WM_MOVE, sent|defwinproc },
{ WM_SIZE, sent|wparam|defwinproc, SIZE_RESTORED },
{ HCBT_SETFOCUS, hook },
{ 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 */
{ HCBT_SETFOCUS, hook|optional }, /* win2003 doesn't send it */
@ -9052,6 +9147,9 @@ static const struct message WmRestore_1[] = {
static const struct message WmRestore_2[] = {
{ WM_SHOWWINDOW, sent|wparam, 1 },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE },
{ HCBT_ACTIVATE, hook|optional }, /* win2000 doesn't send it */
{ WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE }, /* win2000 doesn't send it */
{ HCBT_SETFOCUS, hook|optional }, /* win2000 doesn't send it */
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE },
{ 0 }
};
@ -9194,6 +9292,9 @@ static const struct message WmShowMaximized_3[] = {
{ HCBT_MINMAX, hook|lparam, 0, SW_SHOWMAXIMIZED },
{ WM_GETMINMAXINFO, sent },
{ WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|0x8000 },
{ HCBT_ACTIVATE, hook|optional }, /* win2000 doesn't send it */
{ WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE }, /* win2000 doesn't send it */
{ HCBT_SETFOCUS, hook|optional }, /* win2000 doesn't send it */
{ WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|0x8000 },
{ WM_MOVE, sent|defwinproc },
{ WM_SIZE, sent|wparam|defwinproc, SIZE_MAXIMIZED },
@ -9379,7 +9480,9 @@ static const struct message WmDefDlgSetFocus_1[] = {
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 2 },
{ EVENT_OBJECT_FOCUS, winevent_hook|wparam|lparam, OBJID_CLIENT, 0 },
{ WM_SETFOCUS, sent|wparam, 0 },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 10 },
{ WM_CTLCOLOREDIT, sent },
{ WM_IME_NOTIFY, sent|wparam|defwinproc|optional, 11 },
{ EVENT_OBJECT_CREATE, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, OBJID_CARET, 0 },
{ EVENT_OBJECT_SHOW, winevent_hook|wparam|lparam, OBJID_CARET, 0 },