diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-07-12 22:00:00 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-07-12 22:07:29 +0200 |
commit | 2b72f43d9e25ee9d5690606585fdbfee63f681a1 (patch) | |
tree | 61fb18dc6fe64e678f74d5a88a530c432055dd1e | |
parent | 7c03f08e089b9fe10648f76a228f6cfddf1deb69 (diff) | |
download | qutebrowser-2b72f43d9e25ee9d5690606585fdbfee63f681a1.tar.gz qutebrowser-2b72f43d9e25ee9d5690606585fdbfee63f681a1.zip |
Load the correct URL in the Qt 5.15 session workaround
If visiting an URL and then later using :back, we accidentally opened the last
URL in the back/forward history rather than the current one.
See #5359
Fixes #5566
(cherry picked from commit 8f073ee095c91748bf273620dcd51fcb4b2bc776)
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index dcadfad7b..0a1d86404 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -690,9 +690,15 @@ class WebEngineHistoryPrivate(browsertab.AbstractHistoryPrivate): if not items: return - url = items[-1].url - if (url.scheme(), url.host()) == ('qute', 'back') and len(items) >= 2: - url = items[-2].url + for i, item in enumerate(items): + if item.active: + cur_idx = i + break + + url = items[cur_idx].url + if (url.scheme(), url.host()) == ('qute', 'back') and cur_idx >= 1: + url = items[cur_idx - 1].url + self._tab.load_url(url) def load_items(self, items): |