fvwm d3d test failures

Alexandre Julliard julliard at winehq.org
Thu Oct 12 10:21:48 CDT 2017


Stefan Dösinger <stefandoesinger at gmail.com> writes:

> Hi Alexandre,
>
> Since I currently have my head wrapped around the d3d message tests I'd
> like to give your fvwm2 test failures another try. Can you send me the
> test failures you currently see?
>
> Here I see one failure mostly reliably (~90% of all runs) with fvwm2 in
> focus follows mouse mode. I think the particular test is not too
> important, so we can disable it, but I'd like to verify first that it is
> the same issue you have.

I'm usually running tests with this patch, which avoids the failure for
me. If you have a better fix I'd be interested...

diff --git a/dlls/d3d9/tests/d3d9ex.c b/dlls/d3d9/tests/d3d9ex.c
index a3cbdbfadfff..4dd2fe41111d 100644
--- a/dlls/d3d9/tests/d3d9ex.c
+++ b/dlls/d3d9/tests/d3d9ex.c
@@ -2890,14 +2890,17 @@ static void test_wndproc(void)
         ShowWindow(device_window, SW_HIDE);
         flush_events();
 
-        expect_messages = focus_loss_messages_hidden;
-        windowposchanged_received = 0;
-        SetForegroundWindow(GetDesktopWindow());
-        ok(!expect_messages->message, "Expected message %#x for window %#x, but didn't receive it, i=%u.\n",
-                expect_messages->message, expect_messages->window, i);
-        ok(!windowposchanged_received, "Received WM_WINDOWPOSCHANGED but did not expect it, i=%u.\n", i);
-        expect_messages = NULL;
-        flush_events();
+        if (GetForegroundWindow() == focus_window)
+        {
+            expect_messages = focus_loss_messages_hidden;
+            windowposchanged_received = 0;
+            SetForegroundWindow(GetDesktopWindow());
+            ok(!expect_messages->message, "Expected message %#x for window %#x, but didn't receive it, i=%u.\n",
+               expect_messages->message, expect_messages->window, i);
+            ok(!windowposchanged_received, "Received WM_WINDOWPOSCHANGED but did not expect it, i=%u.\n", i);
+            expect_messages = NULL;
+            flush_events();
+        }
 
         ret = EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &devmode);
         ok(ret, "Failed to get display mode.\n");

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list