[Bug 35863] ddraw tests sometimes fail to receive their messages

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Mar 25 18:36:09 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=35863

--- Comment #2 from Austin English <austinenglish at 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.



More information about the wine-bugs mailing list