summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2023-09-24 21:11:43 +0200
committerFlorian Bruhin <me@the-compiler.org>2023-09-24 21:11:43 +0200
commit5a05a93e38c1f790acbc8389793dd527c2b310f8 (patch)
tree26546d09cafef04f3869afa9820b9c9f1c611438
parent434f6906f9088172494fa7e219a856d893ed55ba (diff)
downloadqutebrowser-5a05a93e38c1f790acbc8389793dd527c2b310f8.tar.gz
qutebrowser-5a05a93e38c1f790acbc8389793dd527c2b310f8.zip
Work around QtWebEngine bug when serializing empty history
See https://bugreports.qt.io/browse/QTBUG-117489 Closes #7913
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index 938e100ff..f9033f963 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -613,7 +613,13 @@ class WebEngineHistoryPrivate(browsertab.AbstractHistoryPrivate):
self._history = cast(QWebEngineHistory, None)
def serialize(self):
- return qtutils.serialize(self._history)
+ data = qtutils.serialize(self._history)
+ # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-117489
+ if data == b"\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x00":
+ return b"\x00\x00\x00\x04\x00\x00\x00\x00\xff\xff\xff\xff"
+ # | '-- count '-- currentIndex
+ # '-- kHistoryStreamVersion
+ return data
def deserialize(self, data):
qtutils.deserialize(data, self._history)