summaryrefslogtreecommitdiff
path: root/qutebrowser/misc/sessions.py
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2020-04-27 11:59:57 +0200
committerFlorian Bruhin <me@the-compiler.org>2020-04-27 12:00:46 +0200
commit63ade39d2ca10cc086b9d4e8fb6131ef3b4c4782 (patch)
tree8b331b109bf84a0948dfba2d09a5c021ca0dd76d /qutebrowser/misc/sessions.py
parent485708f1a371cf4b3fc004185d014849f950659b (diff)
downloadqutebrowser-63ade39d2ca10cc086b9d4e8fb6131ef3b4c4782.tar.gz
qutebrowser-63ade39d2ca10cc086b9d4e8fb6131ef3b4c4782.zip
Add stop-gap measure for sessions with Qt 5.15
See #5359
Diffstat (limited to 'qutebrowser/misc/sessions.py')
-rw-r--r--qutebrowser/misc/sessions.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/qutebrowser/misc/sessions.py b/qutebrowser/misc/sessions.py
index 1bcd42baf..b0116eb09 100644
--- a/qutebrowser/misc/sessions.py
+++ b/qutebrowser/misc/sessions.py
@@ -24,6 +24,8 @@ import os.path
import itertools
import urllib
import typing
+import glob
+import shutil
from PyQt5.QtCore import QUrl, QObject, QPoint, QTimer, pyqtSlot
from PyQt5.QtWidgets import QApplication
@@ -59,6 +61,16 @@ def init(parent=None):
parent: The parent to use for the SessionManager.
"""
base_path = os.path.join(standarddir.data(), 'sessions')
+
+ # WORKAROUND for https://github.com/qutebrowser/qutebrowser/issues/5359
+ backup_path = os.path.join(base_path, 'before-qt-515')
+ if (os.path.exists(base_path) and
+ not os.path.exists(backup_path) and
+ qtutils.version_check('5.15', compiled=False)):
+ os.mkdir(backup_path)
+ for filename in glob.glob(os.path.join(base_path, '*.yml')):
+ shutil.copy(filename, backup_path)
+
try:
os.mkdir(base_path)
except FileExistsError: