summaryrefslogtreecommitdiff
path: root/qutebrowser/utils/qtutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/utils/qtutils.py')
-rw-r--r--qutebrowser/utils/qtutils.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/qutebrowser/utils/qtutils.py b/qutebrowser/utils/qtutils.py
index 430f15c75..699dc86d9 100644
--- a/qutebrowser/utils/qtutils.py
+++ b/qutebrowser/utils/qtutils.py
@@ -36,7 +36,7 @@ import contextlib
from typing import (Any, AnyStr, TYPE_CHECKING, BinaryIO, IO, Iterator,
Optional, Union, Tuple, cast)
-from qutebrowser.qt import machinery
+from qutebrowser.qt import machinery, sip
from qutebrowser.qt.core import (qVersion, QEventLoop, QDataStream, QByteArray,
QIODevice, QFileDevice, QSaveFile, QT_VERSION_STR,
PYQT_VERSION_STR, QObject, QUrl, QLibraryInfo)
@@ -600,7 +600,7 @@ def library_path(which: LibraryPath) -> pathlib.Path:
return pathlib.Path(ret)
-def extract_enum_val(val: Union[int, enum.Enum]) -> int:
+def extract_enum_val(val: Union[sip.simplewrapper, int, enum.Enum]) -> int:
"""Extract an int value from a Qt enum value.
For Qt 5, enum values are basically Python integers.
@@ -609,4 +609,6 @@ def extract_enum_val(val: Union[int, enum.Enum]) -> int:
"""
if isinstance(val, enum.Enum):
return val.value
+ elif isinstance(val, sip.simplewrapper):
+ return int(val) # type: ignore[call-overload]
return int(val)