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