diff --git a/src/app/application.cpp b/src/app/application.cpp index fd0015664..6962544de 100644 --- a/src/app/application.cpp +++ b/src/app/application.cpp @@ -50,6 +50,7 @@ #include #ifndef DISABLE_GUI +#include #include #include #ifdef Q_OS_WIN @@ -973,6 +974,14 @@ void Application::cleanup() LogMsg(tr("qBittorrent termination initiated")); #ifndef DISABLE_GUI + if (m_desktopIntegration) + { + m_desktopIntegration->disconnect(); + m_desktopIntegration->setToolTip(tr("qBittorrent is shutting down...")); + if (m_desktopIntegration->menu()) + m_desktopIntegration->menu()->setEnabled(false); + } + if (m_window) { // Hide the window and don't leave it on screen as diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index c8f2fd505..a0f62449f 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -481,6 +481,7 @@ MainWindow::MainWindow(IGUIApplication *app, QWidget *parent) MainWindow::~MainWindow() { + app()->desktopIntegration()->setMenu(nullptr); delete m_ui; } @@ -1171,11 +1172,6 @@ void MainWindow::closeEvent(QCloseEvent *e) } } - // Disable some UI to prevent user interactions - app()->desktopIntegration()->disconnect(); - app()->desktopIntegration()->setToolTip(tr("qBittorrent is shutting down...")); - app()->desktopIntegration()->menu()->setEnabled(false); - // Accept exit e->accept(); qApp->exit();