if (PreResult) goto Exit;
- Result = WndProc(AnsiMsg.hwnd, AnsiMsg.message, AnsiMsg.wParam, AnsiMsg.lParam);
+ _SEH2_TRY // wine does this.
+ {
+ Result = WndProc(AnsiMsg.hwnd, AnsiMsg.message, AnsiMsg.wParam, AnsiMsg.lParam);
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ }
+ _SEH2_END;
if (Hook && MsgOverride)
{
if (PreResult) goto Exit;
- Result = WndProc(hWnd, Msg, wParam, lParam);
+ _SEH2_TRY
+ {
+ Result = WndProc(hWnd, Msg, wParam, lParam);
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ }
+ _SEH2_END;
if (Hook && MsgOverride)
{
if (PreResult) goto Exit;
- Result = WndProc(hWnd, Msg, wParam, lParam);
+ _SEH2_TRY
+ {
+ Result = WndProc(hWnd, Msg, wParam, lParam);
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ }
+ _SEH2_END;
if (Hook && MsgOverride)
{
if (PreResult) goto Exit;
- Result = WndProc(UnicodeMsg.hwnd, UnicodeMsg.message,
- UnicodeMsg.wParam, UnicodeMsg.lParam);
+ _SEH2_TRY
+ {
+ Result = WndProc(UnicodeMsg.hwnd, UnicodeMsg.message,
+ UnicodeMsg.wParam, UnicodeMsg.lParam);
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ }
+ _SEH2_END;
if (Hook && MsgOverride)
{
if ( lpmsg->message == WM_SYSTIMER )
return NtUserDispatchMessage( (PMSG)lpmsg );
- Ret = WndProc(lpmsg->hwnd,
- lpmsg->message,
- lpmsg->wParam,
- GetTickCount());
+ _SEH2_TRY // wine does this.
+ {
+ Ret = WndProc(lpmsg->hwnd,
+ lpmsg->message,
+ lpmsg->wParam,
+ GetTickCount());
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ }
+ _SEH2_END;
+
}
else if (Wnd != NULL)
{
if ( lpmsg->message == WM_SYSTIMER )
return NtUserDispatchMessage( (PMSG) lpmsg );
- Ret = WndProc(lpmsg->hwnd,
- lpmsg->message,
- lpmsg->wParam,
- GetTickCount());
+ _SEH2_TRY
+ {
+ Ret = WndProc(lpmsg->hwnd,
+ lpmsg->message,
+ lpmsg->wParam,
+ GetTickCount());
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
+ {
+ }
+ _SEH2_END;
}
else if (Wnd != NULL)
{