From 063976538bed02d68856f05feaa816011d8db49e Mon Sep 17 00:00:00 2001 From: Herbert Dürr Date: Mon, 25 Nov 2013 14:38:26 +0000 Subject: Related: #i123747# ignore single step and breakpoint SEH events (cherry picked from commit 2a0a1e41bcca97caaf3fdfb375f5cebb330a0fcc) Change-Id: I107a73ad001647eeb25b44e521251ef9543cc83a --- sal/osl/w32/signal.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'sal') 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 ) -- cgit