From b4c7669e64ed535c90b9dd4752bd3ab17aeb912e Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 15 Oct 2014 23:15:27 +0200 Subject: [PATCH] Shut down TabbedBrowser in MainWindow closeEvent. Hopefully fixes #197. --- qutebrowser/app.py | 8 ++------ qutebrowser/widgets/mainwindow.py | 1 + qutebrowser/widgets/webview.py | 1 + 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/qutebrowser/app.py b/qutebrowser/app.py index 1a5d56bd0..6d10d6b6b 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -638,12 +638,8 @@ class Application(QApplication): self.removeEventFilter(self._event_filter) except AttributeError: pass - # Close all tabs - for win_id in objreg.window_registry: - log.destroy.debug("Closing tabs in window {}...".format(win_id)) - tabbed_browser = objreg.get('tabbed-browser', scope='window', - window=win_id) - tabbed_browser.shutdown() + # Close all windows + QApplication.closeAllWindows() # Shut down IPC try: objreg.get('ipc-server').shutdown() diff --git a/qutebrowser/widgets/mainwindow.py b/qutebrowser/widgets/mainwindow.py index 1ed38ef18..1510861d3 100644 --- a/qutebrowser/widgets/mainwindow.py +++ b/qutebrowser/widgets/mainwindow.py @@ -333,3 +333,4 @@ class MainWindow(QWidget): e.accept() objreg.get('app').geometry = bytes(self.saveGeometry()) log.destroy.debug("Closing window {}".format(self.win_id)) + self._tabbed_browser.shutdown() diff --git a/qutebrowser/widgets/webview.py b/qutebrowser/widgets/webview.py index 5d623885a..87b504cc4 100644 --- a/qutebrowser/widgets/webview.py +++ b/qutebrowser/widgets/webview.py @@ -264,6 +264,7 @@ class WebView(QWebView): """Shut down the webview.""" # We disable javascript because that prevents some segfaults when # quitting it seems. + log.destroy.debug("Shutting down {!r}.".format(self)) settings = self.settings() settings.setAttribute(QWebSettings.JavascriptEnabled, False) self.stop()