X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fquassel.cpp;h=2584a9413878bf241fb6363f36c6cceffe9b8199;hp=9761bfb0c1cc913c7b628c3a9464a9fe02c8780f;hb=e8e1f038e6bf4a7bc938e316774374d3116ff39a;hpb=5c6804f291a63f978e328aeddcc8448e3443b45e;ds=sidebyside diff --git a/src/common/quassel.cpp b/src/common/quassel.cpp index 9761bfb0..2584a941 100644 --- a/src/common/quassel.cpp +++ b/src/common/quassel.cpp @@ -35,6 +35,7 @@ #include "syncableobject.h" #if defined(HAVE_EXECINFO) and not defined(Q_OS_MAC) +# define BUILD_CRASHHANDLER # include # include # include @@ -47,11 +48,13 @@ bool Quassel::_initialized = false; bool Quassel::DEBUG = false; Quassel::Quassel() { + Q_INIT_RESOURCE(i18n); + // We catch SIGTERM and SIGINT (caused by Ctrl+C) to graceful shutdown Quassel. signal(SIGTERM, handleSignal); signal(SIGINT, handleSignal); -#if defined(HAVE_EXECINFO) and not defined(Q_OS_MAC) +#ifdef BUILD_CRASHHANDLER signal(SIGABRT, handleSignal); signal(SIGBUS, handleSignal); signal(SIGSEGV, handleSignal); @@ -179,10 +182,12 @@ void Quassel::handleSignal(int sig) { QCoreApplication::quit(); break; +#ifdef BUILD_CRASHHANDLER case SIGABRT: case SIGBUS: case SIGSEGV: handleCrash(); +#endif break; default: break; @@ -190,7 +195,7 @@ void Quassel::handleSignal(int sig) { } void Quassel::handleCrash() { -#if defined(HAVE_EXECINFO) and not defined(Q_OS_MAC) +#ifdef BUILD_CRASHHANDLER void* callstack[128]; int i, frames = backtrace(callstack, 128); @@ -250,7 +255,7 @@ void Quassel::handleCrash() { } dumpFile.close(); exit(27); -#endif // #if defined(HAVE_EXECINFO) and not defined(Q_OS_MAC) +#endif /* BUILD_CRASHHANDLER */ } // FIXME temporary