http://bugs.winehq.org/show_bug.cgi?id=8822
--- Comment #22 from Jon Griffiths jon_p_griffiths@yahoo.com 2008-06-08 17:10:18 --- Created an attachment (id=13826) --> (http://bugs.winehq.org/attachment.cgi?id=13826) Smaller testcase in C
The program hits a segv on windows at the the same spot as Wine, so this isn't related to an ole call failing or a bad free.
It seems that Windows wraps calls to a timer proc that go through the default windows procedure (but not user handling of WM_TIMER) in an exception handler that ignores segv's. I can't find that documented anywhere, but the attached test program proves it (tested on XP).
I'll try sending a patch to wrap the call in a __TRY{} handler next week.