parent
9c6782be1d
commit
61df5fcd7a
@ -35,6 +35,7 @@ from qutebrowser.mainwindow.statusbar import bar
|
||||
from qutebrowser.completion import completionwidget
|
||||
from qutebrowser.keyinput import modeman
|
||||
from qutebrowser.browser import hints, downloads, downloadview, commands
|
||||
from qutebrowser.misc import crashsignal
|
||||
|
||||
|
||||
win_id_gen = itertools.count(0)
|
||||
@ -392,8 +393,18 @@ class MainWindow(QWidget):
|
||||
self._downloadview.updateGeometry()
|
||||
self.tabbed_browser.tabBar().refresh()
|
||||
|
||||
def _do_close(self):
|
||||
"""Helper function for closeEvent."""
|
||||
objreg.get('session-manager').save_last_window_session()
|
||||
self._save_geometry()
|
||||
log.destroy.debug("Closing window {}".format(self.win_id))
|
||||
self.tabbed_browser.shutdown()
|
||||
|
||||
def closeEvent(self, e):
|
||||
"""Override closeEvent to display a confirmation if needed."""
|
||||
if crashsignal.is_crashing:
|
||||
e.accept()
|
||||
return
|
||||
confirm_quit = config.get('ui', 'confirm-quit')
|
||||
tab_count = self.tabbed_browser.count()
|
||||
download_manager = objreg.get('download-manager', scope='window',
|
||||
@ -425,7 +436,4 @@ class MainWindow(QWidget):
|
||||
e.ignore()
|
||||
return
|
||||
e.accept()
|
||||
objreg.get('session-manager').save_last_window_session()
|
||||
self._save_geometry()
|
||||
log.destroy.debug("Closing window {}".format(self.win_id))
|
||||
self.tabbed_browser.shutdown()
|
||||
self._do_close()
|
||||
|
@ -42,6 +42,10 @@ ExceptionInfo = collections.namedtuple('ExceptionInfo',
|
||||
'pages, cmd_history, objects')
|
||||
|
||||
|
||||
# Used by mainwindow.py to skip confirm questions on crashes
|
||||
is_crashing = False
|
||||
|
||||
|
||||
class CrashHandler(QObject):
|
||||
|
||||
"""Handler for crashes, reports and exceptions.
|
||||
@ -236,6 +240,10 @@ class CrashHandler(QObject):
|
||||
self._quitter.on_last_window_closed)
|
||||
except TypeError:
|
||||
log.destroy.exception("Error while preventing shutdown")
|
||||
|
||||
global is_crashing
|
||||
is_crashing = True
|
||||
|
||||
self._app.closeAllWindows()
|
||||
if self._args.no_err_windows:
|
||||
crashdialog.dump_exception_info(exc, info.pages, info.cmd_history,
|
||||
|
Loading…
Reference in New Issue
Block a user