https://bugs.winehq.org/show_bug.cgi?id=35863
Bug ID: 35863 Summary: ddraw tests sometimes fail to receive their messages Product: Wine Version: 1.7.15 Hardware: x86 OS: Linux Status: NEW Keywords: download, source, testcase Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: austinenglish@gmail.com
On my machine, ddraw2/ddraw7 fail like: ddraw2.c:2343: Test failed: Expected message 0x46, but didn't receive it. ddraw2.c:2345: Test failed: Expected screen size 640x480, got 0x0. ddraw2.c:2350: Test failed: Expected {0, 0, 640, 480}, got {0, 0, 1366, 768}.
also happening on (at least): linux_fg-deb64-t32
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller]) OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.0.4
https://bugs.winehq.org/show_bug.cgi?id=35863
--- Comment #1 from Henri Verbeet hverbeet@gmail.com --- Can you reliably reproduce this? I've seen this happen on occasion, but not often enough to really investigate. What I suspect is happening is that the SendMessageTimeoutW() call in X11DRV_resize_desktop() aborts/times out because we're busy changing the display mode.
https://bugs.winehq.org/show_bug.cgi?id=35863
--- Comment #2 from Austin English austinenglish@gmail.com --- (In reply to Henri Verbeet from comment #1)
Can you reliably reproduce this? I've seen this happen on occasion, but not often enough to really investigate. What I suspect is happening is that the SendMessageTimeoutW() call in X11DRV_resize_desktop() aborts/times out because we're busy changing the display mode.
That seems to be the case, yes. As discussed on IRC: diff --git a/dlls/winex11.drv/desktop.c b/dlls/winex11.drv/desktop.c index 603e19f..7f36f8e 100644 --- a/dlls/winex11.drv/desktop.c +++ b/dlls/winex11.drv/desktop.c @@ -279,7 +279,7 @@ void X11DRV_resize_desktop( unsigned int width, unsigned int height ) SWP_NOZORDER | SWP_NOACTIVATE | SWP_DEFERERASE ); ungrab_clipping_window(); SendMessageTimeoutW( HWND_BROADCAST, WM_DISPLAYCHANGE, screen_bpp, - MAKELPARAM( width, height ), SMTO_ABORTIFHUNG, 2000, NULL ); + MAKELPARAM( width, height ), SMTO_BLOCK, 2000, NULL ); }
EnumWindows( update_windows_on_desktop_resize, (LPARAM)&resize_data );
works around the issue on my machine (whereas increasing the timeout to 200000 did not).
https://bugs.winehq.org/show_bug.cgi?id=35863
--- Comment #3 from Henri Verbeet hverbeet@gmail.com --- Created attachment 47892 --> https://bugs.winehq.org/attachment.cgi?id=47892 patch
Does this patch (ddraw2 only) also help?
https://bugs.winehq.org/show_bug.cgi?id=35863
--- Comment #4 from Austin English austinenglish@gmail.com --- (In reply to Henri Verbeet from comment #3)
Created attachment 47892 [details] patch
Does this patch (ddraw2 only) also help?
ddraw2.c:2497: Test failed: Expected {0, 0, 1366, 768}, got {164, 37, 1196, 617}. ddraw2.c:2524: Test failed: Expected {0, 0, 1366, 768}, got {164, 37, 1196, 617}. ddraw2.c:2541: Test failed: Expected {0, 0, 1366, 768}, got {74, 5, 726, 450}. ddraw2.c:2568: Test failed: Expected {0, 0, 1366, 768}, got {74, 5, 726, 450}. ddraw2.c:2667: Test failed: Expected {0, 0, 1366, 768}, got {0, 0, 640, 480}. ddraw2.c:2695: Test failed: Expected {0, 0, 1366, 768}, got {0, 0, 640, 480}. ddraw2.c:2791: Test failed: Expected {0, 0, 640, 480}, got {640, 0, 1280, 480}. ddraw2.c:2818: Test failed: Expected {0, 0, 640, 480}, got {640, 0, 1280, 480}.
https://bugs.winehq.org/show_bug.cgi?id=35863
--- Comment #5 from Austin English austinenglish@gmail.com --- Still fails in wine-1.7.16-117-ge3383d1
https://bugs.winehq.org/show_bug.cgi?id=35863
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |1af267f613a365be418778f273a | |fb88624bbfe0e Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #6 from Austin English austinenglish@gmail.com --- Fixed on my machine by 1af267f613a365be418778f273afb88624bbfe0e, thanks Henri
https://bugs.winehq.org/show_bug.cgi?id=35863
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.17.