user32: Harder flush painting events in some places in order to
avoid races in the message tests
Dmitry Timoshkov
dmitry at codeweavers.com
Sat Oct 28 03:42:56 CDT 2006
Hello,
please apply after the "Properly log HCBT_KEYSKIPPED hook event" patch.
Changelog:
user32: Harder flush painting events in some places in order to avoid
races in the message tests.
--- cvs/hq/wine/dlls/user/tests/msg.c 2006-10-19 12:41:36.000000000 +0900
+++ wine/dlls/user/tests/msg.c 2006-10-28 17:02:04.000000000 +0900
@@ -3816,6 +3816,7 @@ static void test_messages(void)
ok (hchild != 0, "Failed to create child window\n");
SetFocus(hchild);
+ flush_events();
flush_sequence();
EnableWindow(hparent, FALSE);
@@ -3830,8 +3831,6 @@ static void test_messages(void)
/* MsgWaitForMultipleObjects test */
ret = MsgWaitForMultipleObjects(0, NULL, FALSE, 0, QS_POSTMESSAGE);
ok(ret == WAIT_TIMEOUT, "MsgWaitForMultipleObjects returned %x\n", ret);
- msg.message = 0xdeadbeef;
- ok(!PeekMessageA(&msg, 0, 0, 0, PM_REMOVE), "got not expected %04x\n", msg.message);
PostMessageA(hparent, WM_USER, 0, 0);
@@ -6712,6 +6711,8 @@ static void test_scrollwindowex(void)
flush_sequence();
while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessage( &msg );
ok_sequence(ScrollWindowPaint1, "ScrollWindowEx", 0);
+ flush_events();
+ flush_sequence();
/* Now without the SW_ERASE flag */
trace("start scroll\n");
@@ -6721,6 +6722,8 @@ static void test_scrollwindowex(void)
flush_sequence();
while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessage( &msg );
ok_sequence(ScrollWindowPaint2, "ScrollWindowEx", 0);
+ flush_events();
+ flush_sequence();
/* now scroll the child window as well */
trace("start scroll\n");
@@ -6734,6 +6737,8 @@ static void test_scrollwindowex(void)
flush_sequence();
while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessage( &msg );
ok_sequence(ScrollWindowPaint1, "ScrollWindowEx", 0);
+ flush_events();
+ flush_sequence();
/* now scroll with ScrollWindow() */
trace("start scroll with ScrollWindow\n");
More information about the wine-patches
mailing list