summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2022-05-25 16:29:49 +0200
committerFlorian Bruhin <me@the-compiler.org>2022-06-22 17:41:12 +0200
commit6b1f21d92311aed8f5de9fb0bc15497eecae65d0 (patch)
tree1ee084a748088ca25ff010d1aca5d423efe7f2b5
parenteb4d54e059dc5c2831164c4bb0b5bb4f4a9bf9cb (diff)
downloadqutebrowser-6b1f21d92311aed8f5de9fb0bc15497eecae65d0.tar.gz
qutebrowser-6b1f21d92311aed8f5de9fb0bc15497eecae65d0.zip
Patch PyQt6 QUrl flag behavior for Python 3.11
See https://www.riverbankcomputing.com/pipermail/pyqt/2022-May/044668.html and https://github.com/python/cpython/issues/93250 TODO: Revert again?
-rw-r--r--qutebrowser/misc/earlyinit.py8
-rwxr-xr-xscripts/dev/run_vulture.py1
2 files changed, 9 insertions, 0 deletions
diff --git a/qutebrowser/misc/earlyinit.py b/qutebrowser/misc/earlyinit.py
index b142c93fe..2989a1ef0 100644
--- a/qutebrowser/misc/earlyinit.py
+++ b/qutebrowser/misc/earlyinit.py
@@ -30,6 +30,7 @@ except ImportError:
hunter = None
import sys
+import enum
import faulthandler
import traceback
import signal
@@ -261,6 +262,13 @@ def configure_pyqt():
# FIXME:qt6 solve this in qutebrowser/qt/sip.py equivalent
pass
+ # WORKAROUND for
+ # https://www.riverbankcomputing.com/pipermail/pyqt/2022-May/044668.html
+ if hasattr(enum, "FlagBoundary"): # Python 3.11
+ from qutebrowser.qt.core import QUrl
+ # pylint: disable-next=protected-access
+ QUrl.UrlFormattingOption._boundary_ = enum.FlagBoundary.KEEP
+
def init_log(args):
"""Initialize logging.
diff --git a/scripts/dev/run_vulture.py b/scripts/dev/run_vulture.py
index 901abe235..2e9f5e745 100755
--- a/scripts/dev/run_vulture.py
+++ b/scripts/dev/run_vulture.py
@@ -91,6 +91,7 @@ def whitelist_generator(): # noqa: C901
yield 'PaintContext.clip' # from completiondelegate.py
yield 'logging.LogRecord.log_color' # from logging.py
yield 'scripts.utils.use_color' # from asciidoc2html.py
+ yield 'QUrl.UrlFormattingOption._boundary_'
for attr in ['pyeval_output', 'log_clipboard', 'fake_clipboard']:
yield 'qutebrowser.misc.utilcmds.' + attr