diff options
author | Herbert Dürr <hdu@apache.org> | 2013-11-25 14:38:26 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-11-25 16:54:14 +0000 |
commit | 063976538bed02d68856f05feaa816011d8db49e (patch) | |
tree | ebe9b7beb26b7bb319a85d92e2457f5dc73f3733 /sal/osl | |
parent | b755fb8c0f6b1282f62c12f378c0a5ecac64d490 (diff) |
Related: #i123747# ignore single step and breakpoint SEH events
(cherry picked from commit 2a0a1e41bcca97caaf3fdfb375f5cebb330a0fcc)
Change-Id: I107a73ad001647eeb25b44e521251ef9543cc83a
Diffstat (limited to 'sal/osl')
-rw-r--r-- | sal/osl/w32/signal.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sal/osl/w32/signal.cxx b/sal/osl/w32/signal.cxx index 51e08bcec67b..657ac96a59b9 100644 --- a/sal/osl/w32/signal.cxx +++ b/sal/osl/w32/signal.cxx @@ -404,11 +404,12 @@ oslSignalAction SAL_CALL osl_raiseSignal(sal_Int32 UserSignal, void* UserData) void win_seh_translator( unsigned nSEHCode, _EXCEPTION_POINTERS* pExcPtrs) { const char* pSEHName = NULL; - switch( nSEHCode) { + switch( nSEHCode) + { case EXCEPTION_ACCESS_VIOLATION: pSEHName = "SEH Exception: ACCESS VIOLATION"; break; case EXCEPTION_DATATYPE_MISALIGNMENT: pSEHName = "SEH Exception: DATATYPE MISALIGNMENT"; break; -// case EXCEPTION_BREAKPOINT: pSEHName = "SEH Exception: BREAKPOINT"; break; -// case EXCEPTION_SINGLE_STEP: pSEHName = "SEH Exception: SINGLE STEP"; break; + case EXCEPTION_BREAKPOINT: /*pSEHName = "SEH Exception: BREAKPOINT";*/ break; + case EXCEPTION_SINGLE_STEP: /*pSEHName = "SEH Exception: SINGLE STEP";*/ break; case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: pSEHName = "SEH Exception: ARRAY BOUNDS EXCEEDED"; break; case EXCEPTION_FLT_DENORMAL_OPERAND: pSEHName = "SEH Exception: DENORMAL FLOAT OPERAND"; break; case EXCEPTION_FLT_DIVIDE_BY_ZERO: pSEHName = "SEH Exception: FLOAT DIVIDE_BY_ZERO"; break; @@ -430,7 +431,9 @@ void win_seh_translator( unsigned nSEHCode, _EXCEPTION_POINTERS* pExcPtrs) // case EXCEPTION_POSSIBLE_DEADLOCK: pSEHName = "SEH Exception: POSSIBLE DEADLOCK"; break; default: pSEHName = "Unknown SEH Exception"; break; } - throw std::runtime_error( pSEHName); + + if( pSEHName) + throw std::runtime_error( pSEHName); } sal_Bool SAL_CALL osl_setErrorReporting( sal_Bool bEnable ) |