From: Esme Povirk esme@codeweavers.com
This message sequence succeeds somewhat frequently, but not always. Putting the todo into the sequence makes it possible to account for that. --- dlls/user32/tests/msg.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c index 33962efc790..a4d36a90c03 100644 --- a/dlls/user32/tests/msg.c +++ b/dlls/user32/tests/msg.c @@ -575,9 +575,17 @@ static const struct message WmShowRestoreMaxOverlappedSeq[] = { { WM_GETTITLEBARINFOEX, sent|optional }, { WM_NCPAINT, sent|beginpaint|optional }, { WM_ERASEBKGND, sent|beginpaint|optional }, - { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|msg_todo, 0, 0 }, + { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam, 0, 0 }, { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional, 0, 0 }, /* Win7 seems to send this twice. */ { WM_SYNCPAINT, sent|optional }, + { WM_WINDOWPOSCHANGING, sent|optional|wine_only }, + { WM_WINDOWPOSCHANGED, sent|optional|wine_only }, + { WM_MOVE, sent|defwinproc|optional|wine_only }, + { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional|wine_only, 0, 0 }, + { WM_WINDOWPOSCHANGING, sent|optional|wine_only }, + { WM_WINDOWPOSCHANGED, sent|optional|wine_only }, + { WM_MOVE, sent|defwinproc|optional|wine_only }, + { EVENT_OBJECT_LOCATIONCHANGE, winevent_hook|wparam|lparam|optional|wine_only, 0, 0 }, { 0 } }; /* ShowWindow(SW_RESTORE) for a not visible minimized overlapped window */ @@ -5615,7 +5623,7 @@ static void test_messages(void) { ShowWindow(hwnd, SW_RESTORE); flush_events(); - ok_sequence(WmShowRestoreMaxOverlappedSeq, "ShowWindow(SW_RESTORE):overlapped", TRUE); + ok_sequence(WmShowRestoreMaxOverlappedSeq, "ShowWindow(SW_RESTORE):overlapped", FALSE); flush_sequence(); }