aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/libshiboken/basewrapper.cpp
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2019-04-12 10:58:02 +0200
committerChristian Tismer <tismer@stackless.com>2019-04-16 05:05:17 +0000
commitb2b20bb28e178143dbee3004f33a4af23e5a9765 (patch)
treeb4b3dd9e6a871b0be8343b809e3600364fa5cdd8 /sources/shiboken2/libshiboken/basewrapper.cpp
parent5b42f97fdfc0334e7628bbe30149227d0834edcd (diff)
Cleanup And Simplify the Signature Related Code
Task-number: PYSIDE-510 Change-Id: I73c441b56a19a0ac836e3598ff6fc8c9ba4d1cd2 Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/libshiboken/basewrapper.cpp')
-rw-r--r--sources/shiboken2/libshiboken/basewrapper.cpp26
1 files changed, 8 insertions, 18 deletions
diff --git a/sources/shiboken2/libshiboken/basewrapper.cpp b/sources/shiboken2/libshiboken/basewrapper.cpp
index a008fece8..db65ec696 100644
--- a/sources/shiboken2/libshiboken/basewrapper.cpp
+++ b/sources/shiboken2/libshiboken/basewrapper.cpp
@@ -750,12 +750,8 @@ introduceWrapperType(PyObject *enclosingObject,
PyObject *baseTypes,
unsigned wrapperFlags)
{
- if (baseType) {
- typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType);
- }
- else {
- typeSpec->slots[0].pfunc = reinterpret_cast<void *>(SbkObject_TypeF());
- }
+ typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType ? baseType : SbkObject_TypeF());
+
PyObject *heaptype = PyType_FromSpecWithBases(typeSpec, baseTypes);
Py_TYPE(heaptype) = SbkObjectType_TypeF();
Py_INCREF(Py_TYPE(heaptype));
@@ -779,20 +775,14 @@ introduceWrapperType(PyObject *enclosingObject,
setOriginalName(type, originalName);
setDestructorFunction(type, cppObjDtor);
+ PyObject *ob_type = reinterpret_cast<PyObject *>(type);
- if (wrapperFlags & InnerClass) {
- if (PyDict_SetItemString(enclosingObject, typeName, reinterpret_cast<PyObject *>(type)) == 0)
- return type;
- else
- return nullptr;
- }
+ if (wrapperFlags & InnerClass)
+ return PyDict_SetItemString(enclosingObject, typeName, ob_type) == 0 ? type : nullptr;
- //PyModule_AddObject steals type's reference.
- Py_INCREF(reinterpret_cast<PyObject *>(type));
- if (PyModule_AddObject(enclosingObject, typeName, reinterpret_cast<PyObject *>(type)) == 0) {
- return type;
- }
- return nullptr;
+ // PyModule_AddObject steals type's reference.
+ Py_INCREF(ob_type);
+ return PyModule_AddObject(enclosingObject, typeName, ob_type) == 0 ? type : nullptr;
}
void setSubTypeInitHook(SbkObjectType* type, SubTypeInitHook func)