diff --git a/qutebrowser/widgets/browser.py b/qutebrowser/widgets/browser.py index b78a6866d..e81a45de6 100644 --- a/qutebrowser/widgets/browser.py +++ b/qutebrowser/widgets/browser.py @@ -65,6 +65,7 @@ class TabbedBrowser(TabWidget): self.setCurrentWidget(tab) tab.loadProgress.connect(self._filter_factory(self.cur_progress)) tab.loadFinished.connect(self._filter_factory(self.cur_load_finished)) + tab.loadStarted.connect(self._clear_signal_cache) tab.loadStarted.connect(self._filter_factory(self.cur_load_started)) tab.statusBarMessage.connect( self._filter_factory(self.cur_statusbar_message)) @@ -318,6 +319,9 @@ class TabbedBrowser(TabWidget): """Returns a partial functon calling _filter_signals with a signal.""" return functools.partial(self._filter_signals, signal) + def _clear_signal_cache(self, *args): + self.sender().signal_cache = OrderedDict() + def _filter_signals(self, signal, *args): """Filter signals and trigger TabbedBrowser signals if the signal was sent from the _current_ tab and not from any other one.