diff --git a/src/app/mainapplication.cpp b/src/app/mainapplication.cpp index 2202c4561f27a14172e357b019830afc72d641d9..29c98343e564322587118621412ebaa14e27f357 100644 --- a/src/app/mainapplication.cpp +++ b/src/app/mainapplication.cpp @@ -105,7 +105,7 @@ ScreenInfo::onPhysicalDotsPerInchChanged() } MainApplication::MainApplication(int& argc, char** argv) - : QApplication(argc, argv) + : QApplication(argc, argv), isCleanupped(false) { const char* qtVersion = qVersion(); qInfo() << "Using Qt runtime version:" << qtVersion; @@ -401,7 +401,12 @@ MainApplication::initSystray() void MainApplication::cleanup() { - QApplication::exit(0); + // In Qt 6.5, QApplication::exit(0) will signal aboutToQuit, and aboutToQuit is connected to cleanup + // TODO: delete cleanup. + if (!isCleanupped) { + isCleanupped = true; + QApplication::exit(0); + } } #ifdef Q_OS_MACOS diff --git a/src/app/mainapplication.h b/src/app/mainapplication.h index 3e42b77444fccb3075a262c1338044e045d7050b..3fabd8e5b74f78d9dd903e6e57599bfaa4bd715e 100644 --- a/src/app/mainapplication.h +++ b/src/app/mainapplication.h @@ -121,4 +121,6 @@ private: QScopedPointer<ImageDownloader> imageDownloader_; ScreenInfo screenInfo_; + + bool isCleanupped; };