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:17:20 +0200
commit1478f9dabed864715f1df8e171c8ab7d0221fb30 (patch)
tree57e4ea1ddd05ecfe2b27295f856fb33ce4fbf67a
parent90d16b596a74679177cacc12adc2c4c04405ed42 (diff)
downloadqutebrowser-1478f9dabed864715f1df8e171c8ab7d0221fb30.tar.gz
qutebrowser-1478f9dabed864715f1df8e171c8ab7d0221fb30.zip
Work around QtWebEngine bug when serializing empty history
See https://bugreports.qt.io/browse/QTBUG-117489 Closes #7913 (cherry picked from commit 5a05a93e38c1f790acbc8389793dd527c2b310f8)
-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)