From: Stefan Dösinger stefan@codeweavers.com
This fixes random failures on fvwm3. --- dlls/d3d8/tests/device.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/dlls/d3d8/tests/device.c b/dlls/d3d8/tests/device.c index b61ad207cc9..7efb5485300 100644 --- a/dlls/d3d8/tests/device.c +++ b/dlls/d3d8/tests/device.c @@ -10897,6 +10897,15 @@ static void test_window_position(void) ret = SetForegroundWindow(GetDesktopWindow()); ok(ret, "Adapter %u: SetForegroundWindow failed, error %#lx.\n", adapter_idx, GetLastError()); flush_events(); + + /* In case of premature restoration of the window (fvwm2/3, randomly), try again. */ + if (GetForegroundWindow() != GetDesktopWindow()) + { + ret = SetForegroundWindow(GetDesktopWindow()); + ok(ret, "Adapter %u: SetForegroundWindow failed, error %#lx.\n", adapter_idx, GetLastError()); + flush_events(); + } + ret = ShowWindow(window, SW_RESTORE); ok(ret, "Adapter %u: Failed to restore window, error %#lx.\n", adapter_idx, GetLastError()); flush_events();