From 093a454bf4e386eda8715bc3ea2b217760d5f070 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 26 May 2020 16:48:00 +0200 Subject: Update Qt 5.15 session workaround for lazy_restore See #5359 --- doc/changelog.asciidoc | 3 +++ qutebrowser/browser/webengine/webenginetab.py | 6 +++++- qutebrowser/html/warning-sessions.html | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index 741558ec1..d6e42e2b6 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -66,6 +66,9 @@ Fixed `QWebEngineFindTextResult` handling added in v1.11.0. - When entering caret selection mode (`v, v`) very early before a page is loaded, an error is now shown instead of a crash happening. +- The workaround for session loading with Qt 5.15 now handles + `sessions.lazy_restore` so that the saved page is loaded instead of the + "stub" page with no possibility to get to the web page. v1.11.1 (2020-05-07) -------------------- diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 709c5c1b5..5fd4a9e11 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -685,7 +685,11 @@ class WebEngineHistoryPrivate(browsertab.AbstractHistoryPrivate): if qtutils.version_check('5.15', compiled=False): # WORKAROUND for https://github.com/qutebrowser/qutebrowser/issues/5359 if items: - self._tab.load_url(items[-1].url) + url = items[-1].url + if ((url.scheme(), url.host()) == ('qute', 'back') and + len(items) >= 2): + url = items[-2].url + self._tab.load_url(url) return if items: diff --git a/qutebrowser/html/warning-sessions.html b/qutebrowser/html/warning-sessions.html index f93971c6a..dd0c4127b 100644 --- a/qutebrowser/html/warning-sessions.html +++ b/qutebrowser/html/warning-sessions.html @@ -15,6 +15,7 @@ qute://warning/sessions to show it again at a later time. -- cgit v1.2.3-54-g00ecf