From cf8a8ad3b40f2cc6071cfab5a1ad0062d9afb9dd Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 29 Jul 2014 22:42:59 +0200 Subject: [PATCH] Fix crash when closing tab then doing tab-focus-last. --- qutebrowser/browser/commands.py | 2 ++ qutebrowser/widgets/tabbedbrowser.py | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py index b0172d218..65efa2e43 100644 --- a/qutebrowser/browser/commands.py +++ b/qutebrowser/browser/commands.py @@ -572,6 +572,8 @@ class CommandDispatcher: @cmdutils.register(instance='mainwindow.tabs.cmd') def tab_focus_last(self): """Select the tab which was last focused.""" + if self._tabs.last_focused is None: + raise CommandError("No last focused tab!") idx = self._tabs.indexOf(self._tabs.last_focused) if idx == -1: raise CommandError("Last focused tab vanished!") diff --git a/qutebrowser/widgets/tabbedbrowser.py b/qutebrowser/widgets/tabbedbrowser.py index 0ba332d96..db7cb3162 100644 --- a/qutebrowser/widgets/tabbedbrowser.py +++ b/qutebrowser/widgets/tabbedbrowser.py @@ -268,6 +268,10 @@ class TabbedBrowser(TabWidget): tab = self.widget(idx) if tab is None: raise ValueError("invalid index {}!".format(idx)) + if tab is self.now_focused: + self.now_focused = None + if tab is self.last_focused: + self.last_focused = None last_close = config.get('tabbar', 'last-close') if self.count() > 1: url = tab.url()