diff options
Diffstat (limited to 'sources/pyside2/libpyside/pysideclassinfo.cpp')
-rw-r--r-- | sources/pyside2/libpyside/pysideclassinfo.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/sources/pyside2/libpyside/pysideclassinfo.cpp b/sources/pyside2/libpyside/pysideclassinfo.cpp index 5593825c3..4edf0fa91 100644 --- a/sources/pyside2/libpyside/pysideclassinfo.cpp +++ b/sources/pyside2/libpyside/pysideclassinfo.cpp @@ -38,12 +38,13 @@ ****************************************************************************/ #include <sbkpython.h> + #include "pysideclassinfo.h" +#include "pyside_p.h" #include "pysideclassinfo_p.h" #include "dynamicqmetaobject.h" #include <shiboken.h> -#include <QDebug> #define CLASSINFO_CLASS_NAME "ClassInfo" @@ -74,9 +75,8 @@ static PyType_Spec PySideClassInfoType_spec = { PyTypeObject *PySideClassInfoTypeF(void) { - static PyTypeObject *type = nullptr; - if (!type) - type = (PyTypeObject *)PyType_FromSpec(&PySideClassInfoType_spec); + static PyTypeObject *type = + reinterpret_cast<PyTypeObject *>(PyType_FromSpec(&PySideClassInfoType_spec)); return type; } @@ -97,8 +97,7 @@ PyObject *classCall(PyObject *self, PyObject *args, PyObject * /* kw */) return 0; } - PyObject* klass; - klass = PyTuple_GetItem(args, 0); + PyObject *klass = PyTuple_GetItem(args, 0); bool validClass = false; // This will sometimes segfault if you mistakenly use it on a function declaration @@ -107,10 +106,11 @@ PyObject *classCall(PyObject *self, PyObject *args, PyObject * /* kw */) return 0; } - if (Shiboken::ObjectType::checkType(reinterpret_cast<PyTypeObject*>(klass))) { - PySide::DynamicQMetaObject* mo = reinterpret_cast<PySide::DynamicQMetaObject*>(Shiboken::ObjectType::getTypeUserData(reinterpret_cast<SbkObjectType*>(klass))); - if (mo) { - mo->addInfo(PySide::ClassInfo::getMap(data)); + PyTypeObject *klassType = reinterpret_cast<PyTypeObject*>(klass); + if (Shiboken::ObjectType::checkType(klassType)) { + if (auto userData = PySide::retrieveTypeUserData(klassType)) { + PySide::MetaObjectBuilder &mo = userData->mo; + mo.addInfo(PySide::ClassInfo::getMap(data)); pData->m_alreadyWrapped = true; validClass = true; } |