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(a)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/win32s…
 ==============================================================================
 --- 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)
        {