X-Git-Url: https://git.toastfreeware.priv.at/toast/confclerk.git/blobdiff_plain/330b8cb300b0047a481a536cc820096944f274a5..080dc7d603d45ba0662aa731418993ddd45b5fe8:/src/app/application.cpp diff --git a/src/app/application.cpp b/src/app/application.cpp index e8ad62b..8bf23a8 100644 --- a/src/app/application.cpp +++ b/src/app/application.cpp @@ -1,6 +1,6 @@ /* * Copyright (C) 2010 Ixonos Plc. - * Copyright (C) 2011-2017 Philipp Spitzer, gregor herrmann, Stefan Stahl + * Copyright (C) 2011-2024 Philipp Spitzer, gregor herrmann, Stefan Stahl * * This file is part of ConfClerk. * @@ -41,13 +41,17 @@ bool Application::notify(QObject* receiver, QEvent* event) error_message("UNCAUGHT exception: " + QString(e.what())); return false; } catch (...) { - error_message("UNCAUGHT exception: " + #if defined(__GNUC__) || defined(__llvm__) || defined(__clang__) - QString(__cxxabiv1::__cxa_current_exception_type()->name()) + int status = 0; + char *buff = __cxxabiv1::__cxa_demangle( + __cxxabiv1::__cxa_current_exception_type()->name(), + NULL, NULL, &status); + QString exception_name = QString(buff); + std::free(buff); #else - "unknown" + QString exception_name = QString("unknown"); #endif - ); + error_message("UNCAUGHT exception: " + exception_name); return false; } }