[ros-dev] [ros-diffs] [tfaber] 73631: [0.4.4] - Mask WndProc exceptions CORE-11915
Alex Ionescu
ionucu at videotron.ca
Tue Jan 31 06:52:18 UTC 2017
In Windows, this is actually part of the AppCompat database. there's a
flag in tagWND that enables/disables this behavior.
Best regards,
Alex Ionescu
On Mon, Jan 30, 2017 at 3:35 AM, <tfaber at svn.reactos.org> wrote:
> Author: tfaber
> Date: Mon Jan 30 11:35:05 2017
> New Revision: 73631
>
> URL: http://svn.reactos.org/svn/reactos?rev=73631&view=rev
> Log:
> [0.4.4]
> - Mask WndProc exceptions
> CORE-11915
>
> Modified:
> branches/ros-branch-0_4_4/reactos/win32ss/user/user32/windows/message.c
>
> Modified: branches/ros-branch-0_4_4/reactos/win32ss/user/user32/windows/message.c
> URL: http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_4/reactos/win32ss/user/user32/windows/message.c?rev=73631&r1=73630&r2=73631&view=diff
> ==============================================================================
> --- branches/ros-branch-0_4_4/reactos/win32ss/user/user32/windows/message.c [iso-8859-1] (original)
> +++ branches/ros-branch-0_4_4/reactos/win32ss/user/user32/windows/message.c [iso-8859-1] Mon Jan 30 11:35:05 2017
> @@ -1464,20 +1464,15 @@
>
> if (PreResult) goto Exit;
>
> - if (!Dialog)
> - Result = CALL_EXTERN_WNDPROC(WndProc, AnsiMsg.hwnd, AnsiMsg.message, AnsiMsg.wParam, AnsiMsg.lParam);
> - else
> - {
> _SEH2_TRY
> {
> Result = CALL_EXTERN_WNDPROC(WndProc, AnsiMsg.hwnd, AnsiMsg.message, AnsiMsg.wParam, AnsiMsg.lParam);
> }
> _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
> {
> - ERR("Exception Dialog Ansi %p Msg %d pti %p Wndpti %p\n",WndProc,Msg,GetW32ThreadInfo(),pWnd->head.pti);
> + ERR("Exception when calling Ansi WndProc %p Msg %d pti %p Wndpti %p\n",WndProc,Msg,GetW32ThreadInfo(),pWnd->head.pti);
> }
> _SEH2_END;
> - }
>
> if (Hook && MsgOverride)
> {
> @@ -1518,20 +1513,15 @@
>
> if (PreResult) goto Exit;
>
> - if (!Dialog)
> - Result = CALL_EXTERN_WNDPROC(WndProc, hWnd, Msg, wParam, lParam);
> - else
> - {
> _SEH2_TRY
> {
> Result = CALL_EXTERN_WNDPROC(WndProc, hWnd, Msg, wParam, lParam);
> }
> _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
> {
> - ERR("Exception Dialog unicode %p Msg %d pti %p Wndpti %p\n",WndProc, Msg,GetW32ThreadInfo(),pWnd->head.pti);
> + ERR("Exception when calling unicode WndProc %p Msg %d pti %p Wndpti %p\n",WndProc, Msg,GetW32ThreadInfo(),pWnd->head.pti);
> }
> _SEH2_END;
> - }
>
> if (Hook && MsgOverride)
> {
> @@ -1611,20 +1601,15 @@
>
> if (PreResult) goto Exit;
>
> - if (!Dialog)
> - Result = CALL_EXTERN_WNDPROC(WndProc, hWnd, Msg, wParam, lParam);
> - else
> - {
> _SEH2_TRY
> {
> Result = CALL_EXTERN_WNDPROC(WndProc, hWnd, Msg, wParam, lParam);
> }
> _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
> {
> - ERR("Exception Dialog Ansi %p Msg %d pti %p Wndpti %p\n",WndProc,Msg,GetW32ThreadInfo(),pWnd->head.pti);
> + ERR("Exception when calling Ansi WndProc %p Msg %d pti %p Wndpti %p\n",WndProc,Msg,GetW32ThreadInfo(),pWnd->head.pti);
> }
> _SEH2_END;
> - }
>
> if (Hook && MsgOverride)
> {
> @@ -1672,20 +1657,15 @@
>
> if (PreResult) goto Exit;
>
> - if (!Dialog)
> - Result = CALL_EXTERN_WNDPROC(WndProc, UnicodeMsg.hwnd, UnicodeMsg.message, UnicodeMsg.wParam, UnicodeMsg.lParam);
> - else
> - {
> _SEH2_TRY
> {
> Result = CALL_EXTERN_WNDPROC(WndProc, UnicodeMsg.hwnd, UnicodeMsg.message, UnicodeMsg.wParam, UnicodeMsg.lParam);
> }
> _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
> {
> - ERR("Exception Dialog unicode %p Msg %d pti %p Wndpti %p\n",WndProc, Msg,GetW32ThreadInfo(),pWnd->head.pti);
> + ERR("Exception when calling unicode WndProc %p Msg %d pti %p Wndpti %p\n",WndProc, Msg,GetW32ThreadInfo(),pWnd->head.pti);
> }
> _SEH2_END;
> - }
>
> if (Hook && MsgOverride)
> {
>
>
More information about the Ros-dev
mailing list