[Bug 35863] New: ddraw tests sometimes fail to receive their messages
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(a)winehq.org Reporter: austinenglish(a)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 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=35863 --- Comment #1 from Henri Verbeet <hverbeet(a)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. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=35863 --- Comment #2 from Austin English <austinenglish(a)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). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=35863 --- Comment #3 from Henri Verbeet <hverbeet(a)gmail.com> --- Created attachment 47892 --> https://bugs.winehq.org/attachment.cgi?id=47892 patch Does this patch (ddraw2 only) also help? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=35863 --- Comment #4 from Austin English <austinenglish(a)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}. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=35863 --- Comment #5 from Austin English <austinenglish(a)gmail.com> --- Still fails in wine-1.7.16-117-ge3383d1 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=35863 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |1af267f613a365be418778f273a | |fb88624bbfe0e Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from Austin English <austinenglish(a)gmail.com> --- Fixed on my machine by 1af267f613a365be418778f273afb88624bbfe0e, thanks Henri -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=35863 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #7 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 1.7.17. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
wine-bugs@winehq.org