aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sources/pyside2/libpyside/pysideqflags.cpp8
-rw-r--r--sources/shiboken2/generator/shiboken2/cppgenerator.cpp1
2 files changed, 8 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
diff --git a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
index 765657099..8dbf999e2 100644
--- a/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
+++ b/sources/shiboken2/generator/shiboken2/cppgenerator.cpp
@@ -4836,6 +4836,7 @@ void CppGenerator::writeFlagsNumberMethodsDefinition(QTextStream &s, const Abstr
s << INDENT << "{Py_nb_xor, (void *)" << cpythonName << "___xor__}," << endl;
s << INDENT << "{Py_nb_or, (void *)" << cpythonName << "___or__}," << endl;
s << INDENT << "{Py_nb_int, (void *)" << cpythonName << "_long}," << endl;
+ s << INDENT << "{Py_nb_index, (void *)" << cpythonName << "_long}," << endl;
s << "#ifndef IS_PY3K" << endl;
s << INDENT << "{Py_nb_long, (void *)" << cpythonName << "_long}," << endl;
s << "#endif" << endl;