summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Dürr <hdu@apache.org>2013-11-25 14:38:26 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-11-25 16:54:14 +0000
commit063976538bed02d68856f05feaa816011d8db49e (patch)
treeebe9b7beb26b7bb319a85d92e2457f5dc73f3733
parentb755fb8c0f6b1282f62c12f378c0a5ecac64d490 (diff)
Related: #i123747# ignore single step and breakpoint SEH events
(cherry picked from commit 2a0a1e41bcca97caaf3fdfb375f5cebb330a0fcc) Change-Id: I107a73ad001647eeb25b44e521251ef9543cc83a
-rw-r--r--sal/osl/w32/signal.cxx11
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 )