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,  <tfa...@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)
>        {
>
>

_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to