summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2020-07-12 22:00:00 +0200
committerFlorian Bruhin <me@the-compiler.org>2020-07-12 22:07:29 +0200
commit2b72f43d9e25ee9d5690606585fdbfee63f681a1 (patch)
tree61fb18dc6fe64e678f74d5a88a530c432055dd1e
parent7c03f08e089b9fe10648f76a228f6cfddf1deb69 (diff)
downloadqutebrowser-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.py12
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):