From: Qian Hong Subject: [PATCH 1/2] user32: Add more exception handlings for timer callbacks. Message-Id: <54533AD9.9050009@codeweavers.com> Date: Fri, 31 Oct 2014 15:31:37 +0800 Hi, The following commit added an initial exception handling for timer callbacks with a simple test case: commit f20f411925e789a2aecf740776f441335837ac5f Author: Peter Dons Tychsen Date: Wed Sep 30 01:39:25 2009 +0200 user32: Add exception handling for timer callbacks. After that, the following commit removed the test case: commit f6ccb2c498f79099d1291d3c706944f846c7e530 Author: Alexandre Julliard Date: Fri Dec 30 10:17:00 2011 +0100 user32/tests: Remove a crashing test. However, I reverted the above patch with some confilction fixes and resent to testbot, but it doesn't crash on all Windows I tested: https://testbot.winehq.org/JobDetails.pl?Key=9920 Maybe there was a reason for removing the test that I don't know, so I split my patch to two parts. The first part fixed a crashing of QQApp.exe ( https://bugs.winehq.org/show_bug.cgi?id=37225 ), the second part added some test cases. In this case the second part could be drop easily if necessary. Test failures are not related to this patch, see https://testbot.winehq.org/JobDetails.pl?Key=9919&log_302=1 for a dummy test. Thanks! --- dlls/user32/message.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/user32/message.c b/dlls/user32/message.c index b75c7e9..eac4e4d 100644 --- a/dlls/user32/message.c +++ b/dlls/user32/message.c @@ -3934,7 +3934,7 @@ LRESULT WINAPI DECLSPEC_HOTPATCH DispatchMessageA( const MSG* msg ) retval = CallWindowProcA( (WNDPROC)msg->lParam, msg->hwnd, msg->message, msg->wParam, GetTickCount() ); } - __EXCEPT_PAGE_FAULT + __EXCEPT_ALL { retval = 0; } @@ -4005,7 +4005,7 @@ LRESULT WINAPI DECLSPEC_HOTPATCH DispatchMessageW( const MSG* msg ) retval = CallWindowProcW( (WNDPROC)msg->lParam, msg->hwnd, msg->message, msg->wParam, GetTickCount() ); } - __EXCEPT_PAGE_FAULT + __EXCEPT_ALL { retval = 0; }