From: Rémi Bernon rbernon@codeweavers.com
We may receive ConfigureNotify for the minimization late, overriding the restore request, and ending with a minimized window for the rest of the test. --- dlls/ddraw/tests/ddraw2.c | 7 +++++++ dlls/ddraw/tests/ddraw4.c | 7 +++++++ dlls/ddraw/tests/ddraw7.c | 7 +++++++ 3 files changed, 21 insertions(+)
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c index 66fceafbc8d..4841a4f0b8a 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -3344,6 +3344,13 @@ static void test_coop_level_mode_set(void) /* For Wine. */ change_ret = ChangeDisplaySettingsW(NULL, CDS_FULLSCREEN); ok(change_ret == DISP_CHANGE_SUCCESSFUL, "Failed to change display mode, ret %#lx.\n", change_ret); + flush_events(); + + if (IsIconic(window)) /* make sure the window is restored, working around some Wine/X11 race condition */ + { + ShowWindow(window, SW_RESTORE); + flush_events(); + }
memset(&ddsd, 0, sizeof(ddsd)); ddsd.dwSize = sizeof(ddsd); diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index a952eb683a5..00b5d27f55c 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -3587,6 +3587,13 @@ static void test_coop_level_mode_set(void) /* For Wine. */ change_ret = ChangeDisplaySettingsW(NULL, CDS_FULLSCREEN); ok(change_ret == DISP_CHANGE_SUCCESSFUL, "Failed to change display mode, ret %#lx.\n", change_ret); + flush_events(); + + if (IsIconic(window)) /* make sure the window is restored, working around some Wine/X11 race condition */ + { + ShowWindow(window, SW_RESTORE); + flush_events(); + }
memset(&ddsd, 0, sizeof(ddsd)); ddsd.dwSize = sizeof(ddsd); diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index 04fe5a2049b..39be7a1b1e8 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -3359,6 +3359,13 @@ static void test_coop_level_mode_set(void) /* For Wine. */ change_ret = ChangeDisplaySettingsW(NULL, CDS_FULLSCREEN); ok(change_ret == DISP_CHANGE_SUCCESSFUL, "Failed to change display mode, ret %#lx.\n", change_ret); + flush_events(); + + if (IsIconic(window)) /* make sure the window is restored, working around some Wine/X11 race condition */ + { + ShowWindow(window, SW_RESTORE); + flush_events(); + }
memset(&ddsd, 0, sizeof(ddsd)); ddsd.dwSize = sizeof(ddsd);