diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-01-29 12:50:21 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-01-29 14:47:30 +0100 |
commit | 6294578f2c6374ec92cde94821f7949b5f8c477b (patch) | |
tree | ef9b5dea81663e64557e4d9b2776c3e9525f0980 /sources/pyside2 | |
parent | ba46aa1ffb8f9172e4473bd38e5018c1d1611a78 (diff) |
Fix Python 3.8 warnings about deprecated int conversions of enums/flags
Set Py_nb_index to the conversion method for flags and enums.
Fixes warnings like:
examples/widgets/widgets/tetrix.py:107: DeprecationWarning: an integer is required (got type PySide2.QtCore.Qt.AlignmentFlag). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
Task-number: PYSIDE-168
Task-number: PYSIDE-939
Change-Id: Id41a72474192b357afd3dacd0a2e2fc5e055775c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/pyside2')
-rw-r--r-- | sources/pyside2/libpyside/pysideqflags.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sources/pyside2/libpyside/pysideqflags.cpp b/sources/pyside2/libpyside/pysideqflags.cpp index 33351440a..8cf9aa7b2 100644 --- a/sources/pyside2/libpyside/pysideqflags.cpp +++ b/sources/pyside2/libpyside/pysideqflags.cpp @@ -86,6 +86,11 @@ extern "C" { return PyLong_AsLong(number); } + static PyObject *qflag_int(PyObject *self) + { + return PyLong_FromLong(reinterpret_cast<PySideQFlagsObject*>(self)->ob_value); + } + PyObject *PySideQFlagsRichCompare(PyObject *self, PyObject *other, int op) { int result = 0; @@ -146,7 +151,8 @@ namespace QFlags {Py_nb_and, 0}, {Py_nb_xor, 0}, {Py_nb_or, 0}, - {Py_nb_int, 0}, + {Py_nb_int, reinterpret_cast<void*>(qflag_int)}, + {Py_nb_index, reinterpret_cast<void*>(qflag_int)}, #ifndef IS_PY3K {Py_nb_long, 0}, #endif |