From 524c21243b8b7de4e97e02f298c164b98f1b7845 Mon Sep 17 00:00:00 2001 From: Dmitri Bogomolov <4glitch@gmail.com> Date: Wed, 14 Nov 2018 12:16:11 +0200 Subject: [PATCH] Proper quit sequence: close MainWindow and quit the app instead of sys.exit() --- src/bitmessageqt/__init__.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py index 0a26433e..4fed7e18 100644 --- a/src/bitmessageqt/__init__.py +++ b/src/bitmessageqt/__init__.py @@ -2280,6 +2280,7 @@ class MainWindow(Window): QtCore.QEventLoop.AllEvents, 1000 ) shutdown.doCleanShutdown() + self.updateStatusBar(_translate( "MainWindow", "Stopping notifications... %1%").arg(90)) self.tray.hide() @@ -2288,20 +2289,21 @@ class MainWindow(Window): "MainWindow", "Shutdown imminent... %1%").arg(100)) logger.info("Shutdown complete") - super(MainWindow, self).close() - # return - sys.exit() + self.close() + # FIXME: rewrite loops with timer instead + if self.wait: + self.destroy() + app.quit() - # window close event def closeEvent(self, event): - self.appIndicatorHide() - + """window close event""" + event.ignore() trayonclose = BMConfigParser().safeGetBoolean( 'bitmessagesettings', 'trayonclose') - - event.ignore() - if not trayonclose: - # quit the application + if trayonclose: + self.appIndicatorHide() + else: + # custom quit method self.quit() def on_action_InboxMessageForceHtml(self): @@ -3659,4 +3661,4 @@ def run(): if not BMConfigParser().getboolean('bitmessagesettings', 'startintray'): myapp.show() - sys.exit(app.exec_()) + app.exec_()