aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-09-10 11:29:19 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2021-09-11 08:36:40 +0000
commita4311711eb89e3f9833a05edf3debdf7563a104f (patch)
tree257a50545359f81f7c17437003dc70f4ba74b835 /sources/pyside6
parent327cd3aa4da7d4a9c4ce593751fd3e385abba3f0 (diff)
Define SbkObjectType to be a PyTypeObject
SbkObjectType was a struct embedding a PyTypeObject after fec1611e9f42c1f0a13eb33474df2ed8ee480842. Remove that and make the types equvivalent, which allows for removing many reinterpret_casts. SbkObjectType is left as a typedef for client code snippets. [ChangeLog][shiboken6] SbkObjectType is now a typedef for PyTypeObject. Task-number: PYSIDE-535 Change-Id: I44812311ccbbe0988c38e34c47d16f6874f8d1cf Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside6')
-rw-r--r--sources/pyside6/PySide6/QtQml/pysideqmlregistertype.h2
-rw-r--r--sources/pyside6/PySide6/QtQuick/pysidequickregistertype.h2
-rw-r--r--sources/pyside6/PySide6/glue/qtcore.cpp7
-rw-r--r--sources/pyside6/PySide6/glue/qtwidgets.cpp2
-rw-r--r--sources/pyside6/libpyside/dynamicqmetaobject.cpp2
-rw-r--r--sources/pyside6/libpyside/pyside.cpp7
-rw-r--r--sources/pyside6/libpyside/pyside.h2
-rw-r--r--sources/pyside6/libpyside/pyside_p.h3
-rw-r--r--sources/pyside6/libpyside/pysidesignal.cpp2
9 files changed, 7 insertions, 22 deletions
diff --git a/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.h b/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.h
index 2a90a07e0..0dbfb6e5a 100644
--- a/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.h
+++ b/sources/pyside6/PySide6/QtQml/pysideqmlregistertype.h
@@ -42,8 +42,6 @@
#include <sbkpython.h>
-struct SbkObjectType;
-
namespace PySide
{
diff --git a/sources/pyside6/PySide6/QtQuick/pysidequickregistertype.h b/sources/pyside6/PySide6/QtQuick/pysidequickregistertype.h
index 1955413b2..ee4b60866 100644
--- a/sources/pyside6/PySide6/QtQuick/pysidequickregistertype.h
+++ b/sources/pyside6/PySide6/QtQuick/pysidequickregistertype.h
@@ -42,8 +42,6 @@
#include <sbkpython.h>
-struct SbkObjectType;
-
namespace PySide
{
void initQuickSupport(PyObject *module);
diff --git a/sources/pyside6/PySide6/glue/qtcore.cpp b/sources/pyside6/PySide6/glue/qtcore.cpp
index d749c17c1..ad5eb447f 100644
--- a/sources/pyside6/PySide6/glue/qtcore.cpp
+++ b/sources/pyside6/PySide6/glue/qtcore.cpp
@@ -150,8 +150,7 @@ return %out;
static QMetaType QVariant_resolveMetaType(PyTypeObject *type)
{
if (PyObject_TypeCheck(type, SbkObjectType_TypeF())) {
- auto sbkType = reinterpret_cast<SbkObjectType *>(type);
- const char *typeName = Shiboken::ObjectType::getOriginalName(sbkType);
+ const char *typeName = Shiboken::ObjectType::getOriginalName(type);
if (!typeName)
return {};
const bool valueType = '*' != typeName[qstrlen(typeName) - 1];
@@ -1316,7 +1315,7 @@ auto *ptr = reinterpret_cast<uchar *>(Shiboken::Buffer::getPointer(%PYARG_1, &si
// %FUNCTION_NAME() - disable generation of c++ function call
(void) %2; // remove warning about unused variable
Shiboken::AutoDecRef emptyTuple(PyTuple_New(0));
-auto *timerType = reinterpret_cast<PyTypeObject *>(Shiboken::SbkType<QTimer>());
+auto *timerType = Shiboken::SbkType<QTimer>();
auto *pyTimer = timerType->tp_new(Shiboken::SbkType<QTimer>(), emptyTuple, nullptr);
timerType->tp_init(pyTimer, emptyTuple, nullptr);
@@ -1339,7 +1338,7 @@ timer->start(%1);
// @snippet qtimer-singleshot-2
// %FUNCTION_NAME() - disable generation of c++ function call
Shiboken::AutoDecRef emptyTuple(PyTuple_New(0));
-auto *timerType = reinterpret_cast<PyTypeObject *>(Shiboken::SbkType<QTimer>());
+auto *timerType = Shiboken::SbkType<QTimer>();
auto *pyTimer = timerType->tp_new(Shiboken::SbkType<QTimer>(), emptyTuple, nullptr);
timerType->tp_init(pyTimer, emptyTuple, nullptr);
QTimer * timer = %CONVERTTOCPP[QTimer *](pyTimer);
diff --git a/sources/pyside6/PySide6/glue/qtwidgets.cpp b/sources/pyside6/PySide6/glue/qtwidgets.cpp
index d2b7872d4..802a3c172 100644
--- a/sources/pyside6/PySide6/glue/qtwidgets.cpp
+++ b/sources/pyside6/PySide6/glue/qtwidgets.cpp
@@ -56,7 +56,7 @@ Shiboken::Object::releaseOwnership(%PYARG_0);
// @snippet qgraphicsitem
PyObject *userTypeConstant = PyLong_FromLong(QGraphicsItem::UserType);
-PyDict_SetItemString(reinterpret_cast<PyTypeObject *>(Sbk_QGraphicsItem_TypeF())->tp_dict, "UserType", userTypeConstant);
+PyDict_SetItemString(Sbk_QGraphicsItem_TypeF()->tp_dict, "UserType", userTypeConstant);
// @snippet qgraphicsitem
// @snippet qgraphicsitem-scene-return-parenting
diff --git a/sources/pyside6/libpyside/dynamicqmetaobject.cpp b/sources/pyside6/libpyside/dynamicqmetaobject.cpp
index 5269067e7..fb8762a0a 100644
--- a/sources/pyside6/libpyside/dynamicqmetaobject.cpp
+++ b/sources/pyside6/libpyside/dynamicqmetaobject.cpp
@@ -473,7 +473,7 @@ void MetaObjectBuilderPrivate::parsePythonType(PyTypeObject *type)
basesToCheck.reserve(1u + basesCount);
basesToCheck.push_back(type);
- auto sbkObjTypeF = reinterpret_cast<PyTypeObject *>(SbkObject_TypeF());
+ auto sbkObjTypeF = SbkObject_TypeF();
auto baseObjType = reinterpret_cast<PyTypeObject *>(&PyBaseObject_Type);
for (Py_ssize_t i = 0; i < basesCount; ++i) {
auto baseType = reinterpret_cast<PyTypeObject *>(PyTuple_GET_ITEM(mro, i));
diff --git a/sources/pyside6/libpyside/pyside.cpp b/sources/pyside6/libpyside/pyside.cpp
index 990b45694..59b7f54e9 100644
--- a/sources/pyside6/libpyside/pyside.cpp
+++ b/sources/pyside6/libpyside/pyside.cpp
@@ -240,14 +240,9 @@ void initDynamicMetaObject(SbkObjectType *type, const QMetaObject *base, std::si
PySide::PyName::qtStaticMetaObject(), pyMetaObject);
}
-TypeUserData *retrieveTypeUserData(SbkObjectType *sbkTypeObj)
-{
- return reinterpret_cast<TypeUserData *>(Shiboken::ObjectType::getTypeUserData(sbkTypeObj));
-}
-
TypeUserData *retrieveTypeUserData(PyTypeObject *pyTypeObj)
{
- return retrieveTypeUserData(reinterpret_cast<SbkObjectType *>(pyTypeObj));
+ return reinterpret_cast<TypeUserData *>(Shiboken::ObjectType::getTypeUserData(pyTypeObj));
}
TypeUserData *retrieveTypeUserData(PyObject *pyObj)
diff --git a/sources/pyside6/libpyside/pyside.h b/sources/pyside6/libpyside/pyside.h
index 0c9ad92cf..b74cc8414 100644
--- a/sources/pyside6/libpyside/pyside.h
+++ b/sources/pyside6/libpyside/pyside.h
@@ -51,8 +51,6 @@
#include <QtCore/QMetaType>
#include <QtCore/QHash>
-struct SbkObjectType;
-
namespace PySide
{
diff --git a/sources/pyside6/libpyside/pyside_p.h b/sources/pyside6/libpyside/pyside_p.h
index 1084a40a1..a5183c907 100644
--- a/sources/pyside6/libpyside/pyside_p.h
+++ b/sources/pyside6/libpyside/pyside_p.h
@@ -44,8 +44,6 @@
#include <dynamicqmetaobject.h>
-struct SbkObjectType;
-
namespace PySide
{
@@ -59,7 +57,6 @@ struct TypeUserData
std::size_t cppObjSize;
};
-TypeUserData *retrieveTypeUserData(SbkObjectType *sbkTypeObj);
TypeUserData *retrieveTypeUserData(PyTypeObject *pyTypeObj);
TypeUserData *retrieveTypeUserData(PyObject *pyObj);
// For QML
diff --git a/sources/pyside6/libpyside/pysidesignal.cpp b/sources/pyside6/libpyside/pysidesignal.cpp
index 95acb1bad..3a3b52c2a 100644
--- a/sources/pyside6/libpyside/pysidesignal.cpp
+++ b/sources/pyside6/libpyside/pysidesignal.cpp
@@ -942,7 +942,7 @@ static typename T::value_type join(T t, const char *sep)
static void _addSignalToWrapper(SbkObjectType *wrapperType, const char *signalName, PySideSignal *signal)
{
- auto typeDict = reinterpret_cast<PyTypeObject *>(wrapperType)->tp_dict;
+ auto typeDict = wrapperType->tp_dict;
PyObject *homonymousMethod;
if ((homonymousMethod = PyDict_GetItemString(typeDict, signalName))) {
Py_INCREF(homonymousMethod);