From ef8216b338b6335bdd7e4ce5a460094ac39fb531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Sat, 21 Sep 2019 12:11:03 +0200 Subject: [PATCH] Make closeApp work with no event And exit using QApplication.exit so we don't mess with window events to exit the app --- YACReaderLibrary/library_window.cpp | 14 ++++++++++---- YACReaderLibrary/library_window.h | 3 ++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 21b2e81a..7d6c8967 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -2314,11 +2314,12 @@ extern Startup *s; void LibraryWindow::closeEvent(QCloseEvent *event) { if (!trayIconController->handleCloseToTrayIcon(event)) { - closeApp(event); + event->accept(); + closeApp(); } } -void LibraryWindow::closeApp(QCloseEvent *event) +void LibraryWindow::prepareToCloseApp() { s->stop(); settings->setValue(MAIN_WINDOW_GEOMETRY, saveGeometry()); @@ -2327,8 +2328,13 @@ void LibraryWindow::closeApp(QCloseEvent *event) sideBar->close(); QApplication::instance()->processEvents(); - event->accept(); - QMainWindow::closeEvent(event); +} + +void LibraryWindow::closeApp() +{ + prepareToCloseApp(); + + qApp->exit(0); } void LibraryWindow::showNoLibrariesWidget() diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index 3d557fc3..993b58b9 100644 --- a/YACReaderLibrary/library_window.h +++ b/YACReaderLibrary/library_window.h @@ -388,7 +388,8 @@ public slots: void checkMaxNumLibraries(); void showErrorUpgradingLibrary(const QString &path); - void closeApp(QCloseEvent *event); + void prepareToCloseApp(); + void closeApp(); private: //fullscreen mode in Windows for preventing this bug: QTBUG-41309 https://bugreports.qt.io/browse/QTBUG-41309