diff options
author | Kali Kaneko <kali@leap.se> | 2014-05-13 01:55:28 -0500 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2014-05-13 01:55:28 -0500 |
commit | 02b7b4a35d45671542f1e665767e9227c81207af (patch) | |
tree | 6d73dec475aa43dc782f37fae6e7ba8404efb935 /src/leap/bitmask/gui/mainwindow.py | |
parent | 66c94c7533a81cf9512b41090ccab4ee8360e611 (diff) |
give some time for eip to shudown on bundle. Closes: #5663
Diffstat (limited to 'src/leap/bitmask/gui/mainwindow.py')
-rw-r--r-- | src/leap/bitmask/gui/mainwindow.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/leap/bitmask/gui/mainwindow.py b/src/leap/bitmask/gui/mainwindow.py index c55dbb82..8b60ad8e 100644 --- a/src/leap/bitmask/gui/mainwindow.py +++ b/src/leap/bitmask/gui/mainwindow.py @@ -2068,12 +2068,25 @@ class MainWindow(QtGui.QMainWindow): logger.debug('Terminating vpn') self._backend.stop_eip(shutdown=True) + # We need to give some time to the ongoing signals for shutdown + # to come into action. This needs to be solved using + # back-communication from backend. + QtCore.QTimer.singleShot(3000, self._shutdown) + + def _shutdown(self): + """ + Actually shutdown. + """ self._cancel_ongoing_defers() # TODO missing any more cancels? logger.debug('Cleaning pidfiles') self._cleanup_pidfiles() + if self._quit_callback: + self._quit_callback() + + logger.debug('Bye.') def quit(self): """ @@ -2109,8 +2122,3 @@ class MainWindow(QtGui.QMainWindow): self._logger_window.close() self.close() - - if self._quit_callback: - self._quit_callback() - - logger.debug('Bye.') |