comctl32/tests: Flush pending events before progress repaint tests.
This commit is contained in:
parent
97675b1365
commit
a1b02c2cec
|
@ -33,6 +33,21 @@ static HWND hProgressParentWnd, hProgressWnd;
|
||||||
static const char progressTestClass[] = "ProgressBarTestClass";
|
static const char progressTestClass[] = "ProgressBarTestClass";
|
||||||
|
|
||||||
|
|
||||||
|
/* try to make sure pending X events have been processed before continuing */
|
||||||
|
static void flush_events(void)
|
||||||
|
{
|
||||||
|
MSG msg;
|
||||||
|
int diff = 100;
|
||||||
|
DWORD time = GetTickCount() + diff;
|
||||||
|
|
||||||
|
while (diff > 0)
|
||||||
|
{
|
||||||
|
if (MsgWaitForMultipleObjects( 0, NULL, FALSE, min(10,diff), QS_ALLINPUT ) == WAIT_TIMEOUT) break;
|
||||||
|
while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessage( &msg );
|
||||||
|
diff = time - GetTickCount();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static LRESULT CALLBACK ProgressTestWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
static LRESULT CALLBACK ProgressTestWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
switch(msg) {
|
switch(msg) {
|
||||||
|
@ -113,6 +128,7 @@ static void init(void)
|
||||||
|
|
||||||
ShowWindow(hProgressParentWnd, SW_SHOWNORMAL);
|
ShowWindow(hProgressParentWnd, SW_SHOWNORMAL);
|
||||||
ok(GetUpdateRect(hProgressParentWnd, NULL, FALSE), "GetUpdateRect: There should be a region that needs to be updated\n");
|
ok(GetUpdateRect(hProgressParentWnd, NULL, FALSE), "GetUpdateRect: There should be a region that needs to be updated\n");
|
||||||
|
flush_events();
|
||||||
update_window(hProgressParentWnd);
|
update_window(hProgressParentWnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue