- QString funcName;
- if(info.dli_sname) {
- char *func = abi::__cxa_demangle(info.dli_sname, 0, 0, 0);
- if(func) {
- funcName = QString(func);
- free(func);
- } else {
- funcName = QString(info.dli_sname);
- }
- } else {
- funcName = QString("0x%1").arg((long)info.dli_saddr, addrSize, QLatin1Char('0'));
- }
-
- // prettificating the filename
- QString fileName("???");
- if(info.dli_fname) {
- fileName = QString(info.dli_fname);
- int slashPos = fileName.lastIndexOf('/');
- if(slashPos != -1)
- fileName = fileName.mid(slashPos + 1);
- if(fileName.count() < 20)
- fileName += QString(20 - fileName.count(), ' ');
- }
-
- QString debugLine = QString("#%1 %2 0x%3 %4").arg(i, 3, 10)
- .arg(fileName)
- .arg((long)(callstack[i]), addrSize, 16, QLatin1Char('0'))
- .arg(funcName);
-
- dumpStream << debugLine << "\n";
- qDebug() << qPrintable(debugLine);
- }
- dumpFile.close();
- exit(27);
-}
-#endif // ifndef Q_OS_WIN32
-
-
-int main(int argc, char **argv) {
- // We catch SIGTERM and SIGINT (caused by Ctrl+C) to graceful shutdown Quassel.
- signal(SIGTERM, handle_signal);
- signal(SIGINT, handle_signal);
-
-#if not defined(Q_OS_WIN32) && not defined(MAC_10_4_SDK)
- signal(SIGABRT, handle_crash);
- signal(SIGBUS, handle_crash);
- signal(SIGSEGV, handle_crash);
-#endif // ndef Q_OS_WIN32
-
- Global::registerMetaTypes();
- Global::setupVersion();
-
-/*
-#if defined BUILD_CORE
- Global::runMode = Global::CoreOnly;
- QCoreApplication app(argc, argv);
-#elif defined BUILD_QTUI
- Global::runMode = Global::ClientOnly;
- QApplication app(argc, argv);
-#else
- Global::runMode = Global::Monolithic;
- QApplication app(argc, argv);
-#endif
-*/
-#if defined BUILD_CORE
- Global::runMode = Global::CoreOnly;
- QCoreApplication app(argc, argv);
-#elif defined BUILD_QTUI
- Global::runMode = Global::ClientOnly;
- QtUiApplication app(argc, argv);
-#else
- Global::runMode = Global::Monolithic;
- QtUiApplication app(argc, argv);