diff --git a/src/app/stacktrace_win.h b/src/app/stacktrace_win.h index bfd748e8f..55e9494c1 100644 --- a/src/app/stacktrace_win.h +++ b/src/app/stacktrace_win.h @@ -259,9 +259,9 @@ const QString straceWin::getBacktrace() } } - logStream << "\n\nList of linked Modules:\n"; - EnumModulesContext modulesContext(hProcess, logStream); - SymEnumerateModules64(hProcess, EnumModulesCB, (PVOID)&modulesContext); + //logStream << "\n\nList of linked Modules:\n"; + //EnumModulesContext modulesContext(hProcess, logStream); + //SymEnumerateModules64(hProcess, EnumModulesCB, (PVOID)&modulesContext); logStream << "```"; return log; } diff --git a/src/app/stacktrace_win_dlg.h b/src/app/stacktrace_win_dlg.h index eb4604477..6c50b4776 100644 --- a/src/app/stacktrace_win_dlg.h +++ b/src/app/stacktrace_win_dlg.h @@ -32,8 +32,7 @@ #include #include -#include "boost/version.hpp" -#include "libtorrent/version.hpp" +#include "base/utils/misc.h" #include "ui_stacktrace_win_dlg.h" class StraceDlg : public QDialog, private Ui::errorDialog @@ -50,9 +49,6 @@ public: void setStacktraceString(const QString& trace) { // try to call Qt function as less as possible - const int boostVerMajor = BOOST_VERSION / 100000; - const int boostVerMinor = ((BOOST_VERSION / 100) % 1000); - const int boostVerSubMin = BOOST_VERSION % 100; QString htmlStr = QString( "

" "qBittorrent has crashed" @@ -65,15 +61,16 @@ public: "



" "

" "qBittorrent version: " VERSION "
" - "Libtorrent version: " LIBTORRENT_VERSION "
" + "Libtorrent version: %1
" "Qt version: " QT_VERSION_STR "
" - "Boost version: %1.%2.%3" + "Boost version: %2
" + "OS version: %3" "


" "
%4
" "



") - .arg(boostVerMajor) - .arg(boostVerMinor) - .arg(boostVerSubMin) + .arg(Utils::Misc::libtorrentVersionString()) + .arg(Utils::Misc::boostVersionString()) + .arg(Utils::Misc::osName()) .arg(trace); errorText->setHtml(htmlStr); diff --git a/src/base/utils/misc.cpp b/src/base/utils/misc.cpp index 580fa7ad1..3ecdbbe69 100644 --- a/src/base/utils/misc.cpp +++ b/src/base/utils/misc.cpp @@ -37,6 +37,9 @@ #include #include #include +#include +#include +#include #ifdef DISABLE_GUI #include @@ -634,3 +637,35 @@ QSize Utils::Misc::smallIconSize() return QSize(s, s); } #endif + +QString Utils::Misc::osName() +{ + // static initialization for usage in signal handler + static const QString name = +#ifdef QBT_USES_QT5 + QString("%1 %2 %3") + .arg(QSysInfo::prettyProductName()) + .arg(QSysInfo::kernelVersion()) + .arg(QSysInfo::currentCpuArchitecture()); +#else + ""; +#endif + return name; +} + +QString Utils::Misc::boostVersionString() +{ + // static initialization for usage in signal handler + static const QString ver = QString("%1.%2.%3") + .arg(BOOST_VERSION / 100000) + .arg((BOOST_VERSION / 100) % 1000) + .arg(BOOST_VERSION % 100); + return ver; +} + +QString Utils::Misc::libtorrentVersionString() +{ + // static initialization for usage in signal handler + static const QString ver = LIBTORRENT_VERSION; + return ver; +} diff --git a/src/base/utils/misc.h b/src/base/utils/misc.h index 39c421f46..4831dc23d 100644 --- a/src/base/utils/misc.h +++ b/src/base/utils/misc.h @@ -57,6 +57,10 @@ namespace Utils QPoint screenCenter(QWidget *win); QSize smallIconSize(); #endif + QString osName(); + QString boostVersionString(); + QString libtorrentVersionString(); + int pythonVersion(); QString pythonExecutable(); QString pythonVersionComplete(); diff --git a/src/gui/about_imp.h b/src/gui/about_imp.h index c5a8fce65..32a176187 100644 --- a/src/gui/about_imp.h +++ b/src/gui/about_imp.h @@ -33,8 +33,7 @@ #include "ui_about.h" #include -#include -#include +#include "base/utils/misc.h" #include "base/unicodestrings.h" class about: public QDialog, private Ui::AboutDlg @@ -91,8 +90,8 @@ public: // Libraries label_11->setText(QT_VERSION_STR); - label_12->setText(LIBTORRENT_VERSION); - label_13->setText(QString::number(BOOST_VERSION / 100000) + "." + QString::number((BOOST_VERSION / 100) % 1000) + "." + QString::number(BOOST_VERSION % 100)); + label_12->setText(Utils::Misc::libtorrentVersionString()); + label_13->setText(Utils::Misc::boostVersionString()); show(); }