aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/libpyside/pysideqflags.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-01-29 12:50:21 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-01-29 14:47:30 +0100
commit6294578f2c6374ec92cde94821f7949b5f8c477b (patch)
treeef9b5dea81663e64557e4d9b2776c3e9525f0980 /sources/pyside2/libpyside/pysideqflags.cpp
parentba46aa1ffb8f9172e4473bd38e5018c1d1611a78 (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/libpyside/pysideqflags.cpp')
-rw-r--r--sources/pyside2/libpyside/pysideqflags.cpp8
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