X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FSalomeApp%2FSalomeApp_ExceptionHandler.cxx;h=5c9b67f4c95bb3ae232598fb2a9624a3b11c6b6d;hb=cc14dfe0c087d1459c8b593ad7d262ddec495603;hp=d068f29c3a391b17cd5f352e19dbbe8097c37d2a;hpb=d26f738c9c427a45409bacf3848fd8c224edf6ed;p=modules%2Fgui.git diff --git a/src/SalomeApp/SalomeApp_ExceptionHandler.cxx b/src/SalomeApp/SalomeApp_ExceptionHandler.cxx index d068f29c3..5c9b67f4c 100644 --- a/src/SalomeApp/SalomeApp_ExceptionHandler.cxx +++ b/src/SalomeApp/SalomeApp_ExceptionHandler.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -23,9 +23,6 @@ #include "SalomeApp_ExceptionHandler.h" #include "Utils_CorbaException.hxx" -#include "CASCatch.hxx" -#include "Basics_OCCTVersion.hxx" - #include #include @@ -33,12 +30,9 @@ #include -#if OCC_VERSION_LARGE > 0x06010000 - #include - #include -#else - #include "CASCatch.hxx" -#endif +#include +#include + /*!Constructor. Initialize by \a floatSignal.*/ SalomeApp_ExceptionHandler::SalomeApp_ExceptionHandler( const bool floatSignal ) @@ -57,24 +51,19 @@ SalomeApp_ExceptionHandler::SalomeApp_ExceptionHandler( const bool floatSignal ) /*!Try to call SUIT_ExceptionHandler::internalHandle(o, e), catch if failure.*/ bool SalomeApp_ExceptionHandler::handleSignals( QObject* o, QEvent* e ) { -#if OCC_VERSION_LARGE > 0x06010000 - try { + bool result = true; + + try + { OCC_CATCH_SIGNALS; -#else - CASCatch_TRY { -#endif - SUIT_ExceptionHandler::internalHandle( o, e ); + result = SUIT_ExceptionHandler::internalHandle( o, e ); } -#if OCC_VERSION_LARGE > 0x06010000 - catch(Standard_Failure) { -#else - CASCatch_CATCH(Standard_Failure) { -#endif - Handle(Standard_Failure) aFail = Standard_Failure::Caught(); - throw Standard_Failure( aFail->GetMessageString() ); + catch( Standard_Failure& e ) + { + throw Standard_Failure( e.GetMessageString() ); } - return true; + return result; } /*!Try to call handleSignals( o, e ), catch and show error message.*/ @@ -109,19 +98,18 @@ bool SalomeApp_ExceptionHandler::handle( QObject* o, QEvent* e ) } /*!Create new SUIT_ExceptionHandler*/ -extern "C" SALOMEAPP_EXPORT SUIT_ExceptionHandler* getExceptionHandler() +extern "C" SALOMEAPPIMPL_EXPORT SUIT_ExceptionHandler* getExceptionHandler() { // MSV 2006-04-26: work around PAL12004 "VTK window => SIGFPE Arithmetic Exception Detected" // We disable FPE signal as it was in earlier versions of SALOME. It is enabled // only in debug mode if the environment variable DISABLE_FPE is not set to 1. bool raiseFPE; -#if defined(_DEBUG_) | defined(_DEBUG) //the Last for WIN32 default settings - raiseFPE = true; - char* envDisableFPE = getenv("DISABLE_FPE"); - if (envDisableFPE && atoi(envDisableFPE)) - raiseFPE = false; -#else raiseFPE = false; + +#if defined(_DEBUG_) | defined(_DEBUG) //the Last for WIN32 default settings + char* envEnableFPE = getenv("ENABLE_FPE"); + if (envEnableFPE && atoi(envEnableFPE)) + raiseFPE = true; #endif return new SalomeApp_ExceptionHandler( raiseFPE );