The WmShowRestoreMinimizedOverlappedSeq message sequence in tests clearly show that there is a WM_ACTIVATE message at the end of ShowWindow() calls after restoring a minimized window.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47507 Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com --- dlls/user32/tests/msg.c | 247 +++++++++++++++++++++++++++++++++++++++- dlls/user32/winpos.c | 9 +- 2 files changed, 254 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index 477661ab62..96eebc4626 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -892,6 +892,145 @@ static const struct message WmShowVisMaxPopupSeq[] = { { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, { 0 } }; +/* ShowWindow(hwnd, SW_RESTORE) to a minimized window */ +static const struct message WmShowRestoreMinimizedOverlappedSeq[] = +{ + { HCBT_MINMAX, hook }, + { WM_QUERYOPEN, sent }, + { WM_GETTEXT, sent|optional }, + { WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, + { WM_GETMINMAXINFO, sent|defwinproc }, + { WM_NCCALCSIZE, sent }, + { HCBT_ACTIVATE, hook }, + { WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE }, + { WM_NCACTIVATE, sent }, + { WM_GETTEXT, sent|defwinproc|optional }, + { WM_ACTIVATE, sent|wparam, WA_ACTIVE }, + { HCBT_SETFOCUS, hook }, + { WM_SETFOCUS, sent|defwinproc }, + { WM_NCPAINT, sent }, + { WM_GETTEXT, sent|defwinproc|optional }, + { WM_GETTEXT, sent|defwinproc|optional }, + { WM_ERASEBKGND, sent }, + { WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, + { WM_MOVE, sent|defwinproc }, + { WM_SIZE, sent|defwinproc }, + { WM_NCCALCSIZE, sent|optional }, + { WM_NCPAINT, sent|optional }, + { WM_ERASEBKGND, sent|optional }, + /* Note this WM_ACTIVATE message even if the window is already active and focused */ + { WM_ACTIVATE, sent|wparam|lparam, WA_ACTIVE, 0 }, + { WM_SYNCPAINT, sent|optional }, + { WM_PAINT, sent }, + { WM_GETMINMAXINFO, sent|optional }, + { 0 } +}; +/* ShowWindow(hwnd, SW_SHOWNOACTIVATE) to a minimized window */ +static const struct message WmShowNoActivateMinimizedOverlappedSeq[] = +{ + { HCBT_MINMAX, hook }, + { WM_QUERYOPEN, sent }, + { WM_GETTEXT, sent|optional }, + { WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, + { WM_GETMINMAXINFO, sent|defwinproc }, + { WM_NCCALCSIZE, sent }, + { WM_NCPAINT, sent }, + { WM_GETTEXT, sent|defwinproc|optional }, + { WM_ERASEBKGND, sent }, + { WM_WINDOWPOSCHANGED, sent|wparam, SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, + { WM_MOVE, sent|defwinproc }, + { WM_SIZE, sent|defwinproc }, + /* Following optional messages are on XP/2003 */ + { WM_NCCALCSIZE, sent|optional }, + { WM_NCPAINT, sent|optional }, + { WM_ERASEBKGND, sent|optional }, + { HCBT_SETFOCUS, hook|optional }, + { WM_SETFOCUS, sent|optional }, + { HCBT_ACTIVATE, hook|optional }, + { WM_WINDOWPOSCHANGING, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE }, + { WM_NCACTIVATE, sent|optional }, + { WM_GETTEXT, sent|defwinproc|optional }, + { WM_ACTIVATE, sent|wparam|optional, WA_ACTIVE }, + { HCBT_SETFOCUS, hook|optional }, + { WM_SETFOCUS, sent|defwinproc|optional }, + { WM_KILLFOCUS, sent|optional }, + { WM_SETFOCUS, sent|optional }, + /* Note this WM_ACTIVATE message on XP even if the window is already active and focused */ + { WM_ACTIVATE, sent|wparam|lparam|optional, WA_ACTIVE, 0 }, + { WM_SYNCPAINT, sent|optional }, + { WM_PAINT, sent }, + { WM_GETMINMAXINFO, sent|optional }, + { 0 } +}; +/* ShowWindow(hwnd, SW_RESTORE) to an active minimized window */ +static const struct message WmShowRestoreActiveMinimizedOverlappedSeq[] = +{ + { HCBT_MINMAX, hook }, + { WM_QUERYOPEN, sent }, + { WM_GETTEXT, sent|optional }, + { WM_NCACTIVATE, sent }, + { WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOSIZE|SWP_NOMOVE }, + { WM_WINDOWPOSCHANGED, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE }, + { WM_NCCALCSIZE, sent|optional }, + { WM_MOVE, sent|optional }, + { WM_SIZE, sent|optional }, + { WM_GETTEXT, sent|optional }, + { WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, + { WM_GETMINMAXINFO, sent|defwinproc }, + { WM_NCCALCSIZE, sent }, + { WM_NCPAINT, sent }, + { WM_GETTEXT, sent|defwinproc|optional }, + { WM_ERASEBKGND, sent }, + { WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, + { WM_MOVE, sent|defwinproc }, + { WM_SIZE, sent|defwinproc }, + { WM_NCCALCSIZE, sent|optional }, + { WM_NCPAINT, sent|optional }, + { WM_ERASEBKGND, sent|optional }, + { HCBT_SETFOCUS, hook }, + { WM_SETFOCUS, sent }, + /* Note this WM_ACTIVATE message even if the window is already active */ + { WM_ACTIVATE, sent|wparam|lparam, WA_ACTIVE, 0 }, + { WM_SYNCPAINT, sent|optional }, + { WM_PAINT, sent }, + { WM_GETMINMAXINFO, sent|optional }, + { 0 } +}; +/* ShowWindow(hwnd, SW_SHOWNOACTIVATE) to an active minimized window */ +static const struct message WmShowNoActivateActiveMinimizedOverlappedSeq[] = +{ + { HCBT_MINMAX, hook }, + { WM_QUERYOPEN, sent }, + { WM_GETTEXT, sent|optional }, + { WM_NCACTIVATE, sent }, + { WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOSIZE|SWP_NOMOVE }, + { WM_WINDOWPOSCHANGED, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE }, + { WM_NCCALCSIZE, sent|optional }, + { WM_MOVE, sent|optional }, + { WM_SIZE, sent|optional }, + { WM_GETTEXT, sent|optional }, + { WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, + { WM_GETMINMAXINFO, sent|defwinproc }, + { WM_NCCALCSIZE, sent }, + { WM_NCPAINT, sent }, + { WM_GETTEXT, sent|defwinproc|optional }, + { WM_ERASEBKGND, sent }, + { WM_WINDOWPOSCHANGED, sent|wparam, SWP_NOACTIVATE|SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, + { WM_MOVE, sent|defwinproc }, + { WM_SIZE, sent|defwinproc }, + { WM_NCCALCSIZE, sent|optional }, + { WM_NCPAINT, sent|optional }, + { WM_ERASEBKGND, sent|optional }, + /* Following optional messages are present on XP */ + { HCBT_SETFOCUS, hook|optional }, + { WM_SETFOCUS, sent|optional }, + /* Note this WM_ACTIVATE message even if the window is already active and with flag SW_SHOWNOACTIVATE */ + { WM_ACTIVATE, sent|wparam|lparam|optional, WA_ACTIVE, 0 }, + { WM_SYNCPAINT, sent|optional }, + { WM_PAINT, sent }, + { WM_GETMINMAXINFO, sent|optional }, + { 0 } +}; /* CreateWindow (for a child popup window, not initially visible) */ static const struct message WmCreateChildPopupSeq[] = { { HCBT_CREATEWND, hook }, @@ -4654,7 +4793,7 @@ static void test_scroll_messages(HWND hwnd)
static void test_showwindow(void) { - HWND hwnd, hchild; + HWND hwnd, hwnd2, hchild; RECT rc;
hwnd = CreateWindowExA(0, "TestWindowClass", "Test overlapped", WS_OVERLAPPEDWINDOW, @@ -4791,6 +4930,68 @@ static void test_showwindow(void) ok_sequence(WmShowVisMaxPopupSeq, "ShowWindow(SW_SHOWMAXIMIZED):popup", FALSE); DestroyWindow(hwnd); flush_sequence(); + + /* Test 5: + * 1. Restoring a minimized window. + */ + hwnd = CreateWindowA("TestWindowClass", "window1", WS_VISIBLE | WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); + ok(hwnd != NULL, "Failed to create window\n"); + + hwnd2 = CreateWindowA("static", "window2", WS_VISIBLE | WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); + ok(hwnd2 != NULL, "Failed to create window\n"); + + ShowWindow(hwnd, SW_MINIMIZE); + SetActiveWindow(hwnd2); + ok(GetActiveWindow() == hwnd2, "Unexpected active window\n"); + flush_events(); + flush_sequence(); + ShowWindow(hwnd, SW_RESTORE); + flush_events(); + ok_sequence(WmShowRestoreMinimizedOverlappedSeq, + "ShowWindow(hwnd, SW_RESTORE): minimized overlapped", TRUE); + + ShowWindow(hwnd, SW_MINIMIZE); + SetActiveWindow(hwnd2); + ok(GetActiveWindow() == hwnd2, "Unexpected active window\n"); + flush_events(); + flush_sequence(); + ShowWindow(hwnd, SW_SHOWNOACTIVATE); + flush_events(); + ok_sequence(WmShowNoActivateMinimizedOverlappedSeq, + "ShowWindow(hwnd, SW_SHOWNOACTIVATE): minimized overlapped", TRUE); + + DestroyWindow(hwnd2); + DestroyWindow(hwnd); + flush_sequence(); + + /* Test 6: + * 1. Restoring a minimized but active window. + */ + hwnd = CreateWindowA("TestWindowClass", "parent", WS_VISIBLE | WS_OVERLAPPEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0); + ok(hwnd != NULL, "Failed to create window\n"); + + ShowWindow(hwnd, SW_MINIMIZE); + SetActiveWindow(hwnd); + ok(GetActiveWindow() == hwnd, "Unexpected active window\n"); + flush_events(); + flush_sequence(); + ShowWindow(hwnd, SW_RESTORE); + flush_events(); + ok_sequence(WmShowRestoreActiveMinimizedOverlappedSeq, + "ShowWindow(hwnd, SW_RESTORE): active minimized overlapped", TRUE); + + ShowWindow(hwnd, SW_MINIMIZE); + SetActiveWindow(hwnd); + ok(GetActiveWindow() == hwnd, "Unexpected active window\n"); + flush_events(); + flush_sequence(); + ShowWindow(hwnd, SW_SHOWNOACTIVATE); + flush_events(); + ok_sequence(WmShowNoActivateActiveMinimizedOverlappedSeq, + "ShowWindow(hwnd, SW_SHOWNOACTIVATE): active minimized overlapped", TRUE); + + DestroyWindow(hwnd); + flush_sequence(); }
static void test_sys_menu(void) @@ -15477,6 +15678,42 @@ static const struct message WmRestoreMinimizedOverlappedSeq[] = { 0 } };
+/* DefWindowProcA(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0) to an active minimized window */ +static const struct message WmRestoreActiveMinimizedOverlappedSeq[] = +{ + { HCBT_SYSCOMMAND, hook|wparam|lparam, SC_RESTORE, 0 }, + { HCBT_MINMAX, hook }, + { WM_QUERYOPEN, sent }, + { WM_GETTEXT, sent|optional }, + { WM_NCACTIVATE, sent }, + { WM_WINDOWPOSCHANGING, sent|wparam, SWP_NOSIZE|SWP_NOMOVE }, + { WM_WINDOWPOSCHANGED, sent|wparam|optional, SWP_NOSIZE|SWP_NOMOVE|SWP_NOCLIENTSIZE|SWP_NOCLIENTMOVE }, + { WM_NCCALCSIZE, sent|optional }, + { WM_MOVE, sent|optional }, + { WM_SIZE, sent|optional }, + { WM_GETTEXT, sent|optional }, + { WM_WINDOWPOSCHANGING, sent|wparam, SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, + { WM_GETMINMAXINFO, sent|defwinproc }, + { WM_NCCALCSIZE, sent }, + { WM_NCPAINT, sent }, + { WM_GETTEXT, sent|defwinproc|optional }, + { WM_ERASEBKGND, sent }, + { WM_WINDOWPOSCHANGED, sent|wparam, SWP_FRAMECHANGED|SWP_NOCOPYBITS|SWP_STATECHANGED }, + { WM_MOVE, sent|defwinproc }, + { WM_SIZE, sent|defwinproc }, + { WM_NCCALCSIZE, sent|optional }, + { WM_NCPAINT, sent|optional }, + { WM_ERASEBKGND, sent|optional }, + { HCBT_SETFOCUS, hook }, + { WM_SETFOCUS, sent }, + /* Note this WM_ACTIVATE messages even if the window is already active */ + { WM_ACTIVATE, sent|wparam|lparam, WA_ACTIVE, 0 }, + { WM_SYNCPAINT, sent|optional }, + { WM_PAINT, sent }, + { WM_GETMINMAXINFO, sent|optional }, + { 0 } +}; + struct rbuttonup_thread_data { HWND hwnd; @@ -15538,7 +15775,15 @@ static void test_defwinproc(void) DefWindowProcA(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0); flush_events(); ok_sequence(WmRestoreMinimizedOverlappedSeq, "DefWindowProcA(SC_RESTORE):overlapped", TRUE); + + ShowWindow(hwnd, SW_MINIMIZE); + SetActiveWindow(hwnd); + ok(GetActiveWindow() == hwnd, "Unexpected active window\n"); + flush_events(); flush_sequence(); + DefWindowProcA(hwnd, WM_SYSCOMMAND, SC_RESTORE, 0); + flush_events(); + ok_sequence(WmRestoreActiveMinimizedOverlappedSeq, "DefWindowProcA(SC_RESTORE):active minimized overlapped", TRUE);
GetCursorPos(&pos); GetWindowRect(hwnd, &rect); diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c index aad5274973..7aca94e8fe 100644 --- a/dlls/user32/winpos.c +++ b/dlls/user32/winpos.c @@ -1182,7 +1182,14 @@ static BOOL show_window( HWND hwnd, INT cmd ) else WIN_ReleasePtr( wndPtr );
/* if previous state was minimized Windows sets focus to the window */ - if (style & WS_MINIMIZE) SetFocus( hwnd ); + if (style & WS_MINIMIZE) + { + SetFocus( hwnd ); + /* Send a WM_ACTIVATE message for a top level window, even if the window is already active */ + style = GetWindowLongW( hwnd, GWL_STYLE ); + if (!(style & WS_CHILD) && !(swp & SWP_NOACTIVATE)) + SendMessageW( hwnd, WM_ACTIVATE, WA_ACTIVE, 0 ); + }
done: SetThreadDpiAwarenessContext( context );
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=58185
Your paranoid android.
=== wvistau64_fr (32 bit report) ===
user32: msg.c:16504: Test failed: 1: WaitForSingleObject failed
=== w7u (32 bit report) ===
user32: msg.c:10539: Test failed: did not get expected count for minimum timeout (20 != ~100).
=== w7pro64 (32 bit report) ===
user32: msg: Timeout
=== w7pro64 (task log) ===
Task errors: An error occurred while waiting for the test to complete: network read timed out (wait2/connect:AgentVersion.h:0/9) The test VM has crashed, rebooted or lost connectivity (or the TestAgent server died) The previous 2 run(s) terminated abnormally
=== w8adm (32 bit report) ===
user32: msg.c:13129: Test failed: WmMouseHoverSeq: 3: the msg 0x0118 was expected, but got msg 0x001a instead msg.c:13129: Test failed: WmMouseHoverSeq: 4: the msg 0x02a1 was expected, but got msg 0x001a instead msg.c:13129: Test failed: WmMouseHoverSeq: 5: the msg sequence is not complete: expected 0000 - actual 0118
=== w1064v1809_2scr (32 bit report) ===
user32: msg.c:9596: Test failed: Shift+MouseButton press/release: 7: the msg 0x0202 was expected, but got msg 0x0007 instead msg.c:9596: Test failed: Shift+MouseButton press/release: 8: the msg 0x0202 was expected, but got msg 0x0101 instead msg.c:9596: Test failed: Shift+MouseButton press/release: 10: the msg 0x0101 should have been sent msg.c:9596: Test failed: Shift+MouseButton press/release: 11: the msg 0x0101 was expected, but got msg 0x0202 instead msg.c:9596: Test failed: Shift+MouseButton press/release: 12: the msg sequence is not complete: expected 0000 - actual 0202
=== w1064v1809_he (32 bit report) ===
user32: msg.c:9415: Test failed: VK_N press/release: 3: in msg 0x0102 expecting wParam 0x6e got 0xee msg.c:9415: Test failed: VK_N press/release: 4: the msg 0x0111 was expected, but got msg 0x0102 instead msg.c:9442: Test failed: Alt+VK_N press/release: 6: in msg 0x0106 expecting wParam 0x6e got 0xee msg.c:9442: Test failed: Alt+VK_N press/release: 7: in msg 0x0106 expecting wParam 0x6e got 0xee msg.c:9442: Test failed: Alt+VK_N press/release: 8: in msg 0x0112 expecting lParam 0x6e got 0x5de msg.c:9442: Test failed: Alt+VK_N press/release: 16: in msg 0x0120 expecting wParam 0x2000006e got 0x200000ee msg.c:9466: Test failed: VK_N press/release: 3: in msg 0x0102 expecting wParam 0x6e got 0xee msg.c:9466: Test failed: VK_N press/release: 4: the msg 0x0111 was expected, but got msg 0x0102 instead msg.c:17995: Test failed: Restore minimized window: 41: the msg sequence is not complete: expected 0000 - actual 0007 msg.c:15522: Test failed: popup menu command: 4: in msg 0x0106 expecting wParam 0x65 got 0xf7 msg.c:15522: Test failed: popup menu command: 5: in msg 0x0008 expecting lParam 0x65 got 0x5e7 msg.c:15522: Test failed: popup menu command: 8: in msg 0x011f expecting wParam 0x900001 got 0xffff0000 msg.c:15522: Test failed: popup menu command: 9: the msg 0x0117 was expected, but got msg 0x0212 instead msg.c:15522: Test failed: popup menu command: 11: the msg 0x011f was expected, but got msg 0x0007 instead msg.c:15522: Test failed: popup menu command: 16: the msg 0x0125 was expected, but got msg 0x0105 instead msg.c:15522: Test failed: popup menu command: 17: the msg 0x011f was expected, but got msg 0x0007 instead msg.c:15522: Test failed: popup menu command: 18: the msg 0x0212 was expected, but got msg 0x0101 instead msg.c:15522: Test failed: popup menu command: 19: the msg 0x0126 was expected, but got msg 0x0007 instead msg.c:15522: Test failed: popup menu command: 21: the msg 0x0101 was expected, but got msg 0x0100 instead msg.c:15522: Test failed: popup menu command: 22: the msg sequence is not complete: expected 0000 - actual 0102 msg.c:15540: Test failed: submenu of a popup menu command: 4: in msg 0x0106 expecting wParam 0x66 got 0xeb msg.c:15540: Test failed: submenu of a popup menu command: 5: in msg 0x0008 expecting lParam 0x66 got 0x5db msg.c:15540: Test failed: submenu of a popup menu command: 8: in msg 0x011f expecting wParam 0x900000 got 0xffff0000 msg.c:15540: Test failed: submenu of a popup menu command: 9: the msg 0x0117 was expected, but got msg 0x0212 instead msg.c:15540: Test failed: submenu of a popup menu command: 12: the msg 0x0003 was expected, but got msg 0x0007 instead msg.c:15540: Test failed: submenu of a popup menu command: 13: the msg 0x011f was expected, but got msg 0x0105 instead msg.c:15540: Test failed: submenu of a popup menu command: 14: in msg 0x0007 expecting wParam 0x46 got 0x12 msg.c:15540: Test failed: submenu of a popup menu command: 14: in msg 0x0007 expecting lParam 0xf0000001 got 0xc0000001 msg.c:15540: Test failed: submenu of a popup menu command: 22: the msg 0x0004 was expected, but got msg 0x0101 instead msg.c:15540: Test failed: submenu of a popup menu command: 23: the msg 0x0125 was expected, but got msg 0x0007 instead msg.c:15540: Test failed: submenu of a popup menu command: 25: the msg 0x0125 was expected, but got msg 0x0100 instead msg.c:15540: Test failed: submenu of a popup menu command: 26: the msg 0x011f was expected, but got msg 0x0007 instead msg.c:15540: Test failed: submenu of a popup menu command: 27: the msg 0x0212 was expected, but got msg 0x0101 instead msg.c:15540: Test failed: submenu of a popup menu command: 28: the msg 0x0126 was expected, but got msg 0x0007 instead msg.c:15540: Test failed: submenu of a popup menu command: 30: the msg 0x0101 was expected, but got msg 0x0100 instead msg.c:15540: Test failed: submenu of a popup menu command: 31: the msg sequence is not complete: expected 0000 - actual 0102 msg.c:15555: Test failed: single menu item command: 4: in msg 0x0106 expecting wParam 0x71 got 0x2f msg.c:15555: Test failed: single menu item command: 5: in msg 0x0008 expecting lParam 0x71 got 0x2f msg.c:15555: Test failed: single menu item command: 8: in msg 0x011f expecting wParam 0x80012c got 0xffff0000 msg.c:15555: Test failed: single menu item command: 9: the msg 0x011f was expected, but got msg 0x0212 instead msg.c:15555: Test failed: single menu item command: 10: the msg 0x0212 was expected, but got msg 0x0007 instead msg.c:15555: Test failed: single menu item command: 11: the msg 0x0126 was expected, but got msg 0x0105 instead msg.c:15555: Test failed: single menu item command: 12: in msg 0x0007 expecting wParam 0x51 got 0x12 msg.c:15555: Test failed: single menu item command: 12: in msg 0x0007 expecting lParam 0xe0000001 got 0xc0000001 msg.c:15555: Test failed: single menu item command: 13: the msg 0x0105 was expected, but got msg 0x0101 instead msg.c:15555: Test failed: single menu item command: 14: in msg 0x0007 expecting wParam 0x12 got 0x1b msg.c:15555: Test failed: single menu item command: 14: in msg 0x0007 expecting lParam 0xc0000001 got 0x1 msg.c:15555: Test failed: single menu item command: 15: the msg 0x0101 was expected, but got msg 0x0100 instead msg.c:15555: Test failed: single menu item command: 17: the msg 0x0100 was expected, but got msg 0x0102 instead msg.c:15555: Test failed: single menu item command: 18: the msg 0x0102 was expected, but got msg 0x0007 instead msg.c:15588: Test failed: submenu of a popup menu command: 4: in msg 0x0106 expecting wParam 0x66 got 0xeb msg.c:15588: Test failed: submenu of a popup menu command: 5: in msg 0x0008 expecting lParam 0x66 got 0x5db msg.c:15588: Test failed: submenu of a popup menu command: 8: in msg 0x011f expecting wParam 0x900000 got 0xffff0000 msg.c:15588: Test failed: submenu of a popup menu command: 9: the msg 0x0117 was expected, but got msg 0x0212 instead msg.c:15588: Test failed: submenu of a popup menu command: 12: the msg 0x0003 was expected, but got msg 0x0007 instead msg.c:15588: Test failed: submenu of a popup menu command: 13: the msg 0x011f was expected, but got msg 0x0105 instead msg.c:15588: Test failed: submenu of a popup menu command: 14: in msg 0x0007 expecting wParam 0x46 got 0x12 msg.c:15588: Test failed: submenu of a popup menu command: 14: in msg 0x0007 expecting lParam 0xf0000001 got 0xc0000001 msg.c:15588: Test failed: submenu of a popup menu command: 22: the msg 0x0004 was expected, but got msg 0x0101 instead msg.c:15588: Test failed: submenu of a popup menu command: 23: the msg 0x0125 was expected, but got msg 0x0007 instead msg.c:15588: Test failed: submenu of a popup menu command: 25: the msg 0x0125 was expected, but got msg 0x0100 instead msg.c:15588: Test failed: submenu of a popup menu command: 26: the msg 0x011f was expected, but got msg 0x0007 instead msg.c:15588: Test failed: submenu of a popup menu command: 27: the msg 0x0212 was expected, but got msg 0x0101 instead msg.c:15588: Test failed: submenu of a popup menu command: 28: the msg 0x0111 was expected, but got msg 0x0007 instead msg.c:15588: Test failed: submenu of a popup menu command: 30: the msg 0x0101 was expected, but got msg 0x0100 instead msg.c:15588: Test failed: submenu of a popup menu command: 31: the msg sequence is not complete: expected 0000 - actual 0102
Report errors: user32:msg prints too much data (59602 bytes)
=== w1064v1809_ja (32 bit report) ===
user32: msg.c:16504: Test failed: 4: WaitForSingleObject failed msg.c:14800: Test failed: unexpected hwnd 000802DA msg.c:14805: Test failed: unexpected hwnd 000802DA
=== w1064v1809_zh_CN (32 bit report) ===
user32: msg.c:10539: Test failed: did not get expected count for minimum timeout (52 != ~100). msg.c:14580: Test failed: got message 31f msg.c:14800: Test failed: unexpected hwnd 00070366 msg.c:14801: Test failed: unexpected message 31f msg.c:14802: Test failed: bad wparam 1/81 msg.c:14805: Test failed: unexpected hwnd 00070366 msg.c:14806: Test failed: unexpected message 31f msg.c:14807: Test failed: bad wparam 1/81 msg.c:14812: Test failed: bad wparam 81/81 msg.c:14817: Test failed: bad wparam 81/81 msg.c:14819: Test failed: got message 102
=== w7pro64 (task log) ===
Task errors: The previous 2 run(s) terminated abnormally
=== debian10 (32 bit report) ===
user32: msg.c:5374: Test succeeded inside todo block: ShowWindow(SW_RESTORE):overlapped: marked "todo_wine" but succeeds win.c:3137: Test succeeded inside todo block: Focus should be on child 000900DC, not 000900DC
=== debian10 (32 bit French report) ===
user32: msg.c:5374: Test succeeded inside todo block: ShowWindow(SW_RESTORE):overlapped: marked "todo_wine" but succeeds
=== debian10 (32 bit Japanese:Japan report) ===
user32: msg.c:5374: Test succeeded inside todo block: ShowWindow(SW_RESTORE):overlapped: marked "todo_wine" but succeeds
=== debian10 (32 bit Chinese:China report) ===
user32: msg.c:5374: Test succeeded inside todo block: ShowWindow(SW_RESTORE):overlapped: marked "todo_wine" but succeeds msg.c:8975: Test failed: WaitForSingleObject failed 102 msg.c:8981: Test failed: destroy child on thread exit: 0: the msg 0x0082 was expected, but got msg 0x000f instead msg.c:8981: Test failed: destroy child on thread exit: 1: the msg 0x000f was expected, but got msg 0x0014 instead msg.c:8981: Test failed: destroy child on thread exit: 2: the msg sequence is not complete: expected 0014 - actual 0000 win.c:3137: Test succeeded inside todo block: Focus should be on child 000900DC, not 000900DC
=== debian10 (32 bit WoW report) ===
user32: msg.c:5374: Test succeeded inside todo block: ShowWindow(SW_RESTORE):overlapped: marked "todo_wine" but succeeds win.c:3137: Test succeeded inside todo block: Focus should be on child 000900DC, not 000900DC
=== debian10 (64 bit WoW report) ===
user32: msg.c:5374: Test succeeded inside todo block: ShowWindow(SW_RESTORE):overlapped: marked "todo_wine" but succeeds win.c:3137: Test succeeded inside todo block: Focus should be on child 000900DC, not 000900DC