aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-01-04 09:41:34 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-01-04 12:26:11 +0100
commitb96b672b208c6717c3362e08e42247912423fea1 (patch)
tree43b44110f6d7a2be6e12aa41a89f53c0fefc453c /sources/pyside6
parent3bc23d37737184a89f780d84f431757cd7f725c2 (diff)
PySide6: Port from QSharedPointer to std::shared_ptr
Task-number: QTBUG-109570 Change-Id: Ieb13bf352d9b75e364a73bddc464548ec19701ed Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside6')
-rw-r--r--sources/pyside6/PySide6/QtCore/glue/qtcorehelper.cpp10
-rw-r--r--sources/pyside6/PySide6/qtcorehelper.h6
-rw-r--r--sources/pyside6/libpyside/globalreceiverv2.h3
-rw-r--r--sources/pyside6/libpyside/pyside.cpp9
-rw-r--r--sources/pyside6/libpyside/signalmanager.cpp8
-rw-r--r--sources/pyside6/libpysideqml/pysideqmlattached.cpp4
-rw-r--r--sources/pyside6/libpysideqml/pysideqmlattached_p.h4
-rw-r--r--sources/pyside6/libpysideqml/pysideqmlextended.cpp6
-rw-r--r--sources/pyside6/libpysideqml/pysideqmlextended_p.h4
-rw-r--r--sources/pyside6/libpysideqml/pysideqmlregistertype.cpp2
-rw-r--r--sources/pyside6/libpysideqml/pysideqmltypeinfo.cpp2
-rw-r--r--sources/pyside6/libpysideqml/pysideqmltypeinfo_p.h4
12 files changed, 32 insertions, 30 deletions
diff --git a/sources/pyside6/PySide6/QtCore/glue/qtcorehelper.cpp b/sources/pyside6/PySide6/QtCore/glue/qtcorehelper.cpp
index 0ce4ce922..2dc2f3b40 100644
--- a/sources/pyside6/PySide6/QtCore/glue/qtcorehelper.cpp
+++ b/sources/pyside6/PySide6/QtCore/glue/qtcorehelper.cpp
@@ -50,7 +50,7 @@ QGenericArgumentHolder::QGenericArgumentHolder()
}
QGenericArgumentHolder::QGenericArgumentHolder(const QMetaType &type, const void *aData) :
- d(new QGenericArgumentData(type, aData))
+ d(std::make_shared<QGenericArgumentData>(type, aData))
{
}
@@ -62,21 +62,21 @@ QGenericArgumentHolder::~QGenericArgumentHolder() = default;
QGenericArgumentHolder::operator QGenericArgument() const
{
- return d.isNull() ? QGenericArgument{} : d->m_argument;
+ return d ? d->m_argument : QGenericArgument{};
}
QMetaType QGenericArgumentHolder::metaType() const
{
- return d.isNull() ? QMetaType{} : d->m_type;
+ return d ? d->m_type : QMetaType{};
}
const void *QGenericArgumentHolder::data() const
{
- return d.isNull() ? nullptr : d->m_argument.data();
+ return d ? d->m_argument.data() : nullptr;
}
QGenericReturnArgumentHolder::QGenericReturnArgumentHolder(const QMetaType &type, void *aData) :
- d(new QGenericReturnArgumentData(type, aData))
+ d(std::make_shared<QGenericReturnArgumentData>(type, aData))
{
}
diff --git a/sources/pyside6/PySide6/qtcorehelper.h b/sources/pyside6/PySide6/qtcorehelper.h
index 522074cba..bacb7dbd9 100644
--- a/sources/pyside6/PySide6/qtcorehelper.h
+++ b/sources/pyside6/PySide6/qtcorehelper.h
@@ -4,10 +4,10 @@
#ifndef QTCOREHELPER_H
#define QTCOREHELPER_H
-#include <QtCore/qsharedpointer.h>
#include <QtCore/qmutex.h>
#include <QtCore/qobjectdefs.h>
+#include <memory>
namespace QtCoreHelper {
@@ -88,7 +88,7 @@ namespace QtCoreHelper {
const void *data() const;
private:
- QSharedPointer<QGenericArgumentData> d;
+ std::shared_ptr<QGenericArgumentData> d;
};
class QGenericReturnArgumentData;
@@ -110,7 +110,7 @@ namespace QtCoreHelper {
const void *data() const;
private:
- QSharedPointer<QGenericReturnArgumentData> d;
+ std::shared_ptr<QGenericReturnArgumentData> d;
};
} // namespace QtCoreHelper
diff --git a/sources/pyside6/libpyside/globalreceiverv2.h b/sources/pyside6/libpyside/globalreceiverv2.h
index eda4f34d0..c44b8a12f 100644
--- a/sources/pyside6/libpyside/globalreceiverv2.h
+++ b/sources/pyside6/libpyside/globalreceiverv2.h
@@ -12,7 +12,8 @@
#include <QtCore/QObject>
#include <QtCore/QPointer>
#include <QtCore/QMap>
-#include <QtCore/QSharedPointer>
+
+#include <memory>
namespace PySide
{
diff --git a/sources/pyside6/libpyside/pyside.cpp b/sources/pyside6/libpyside/pyside.cpp
index b3d88e23b..50d125a28 100644
--- a/sources/pyside6/libpyside/pyside.cpp
+++ b/sources/pyside6/libpyside/pyside.cpp
@@ -38,13 +38,13 @@
#include <QtCore/QDir>
#include <QtCore/QFileInfo>
#include <QtCore/QMutex>
-#include <QtCore/QSharedPointer>
#include <QtCore/QStack>
#include <QtCore/QThread>
#include <algorithm>
#include <cstring>
#include <cctype>
+#include <memory>
#include <typeinfo>
static QStack<PySide::CleanupFunction> cleanupFunctionList;
@@ -632,11 +632,12 @@ void setNextQObjectMemoryAddr(void *addr)
} // namespace PySide
-// A QSharedPointer is used with a deletion function to invalidate a pointer
+// A std::shared_ptr is used with a deletion function to invalidate a pointer
// when the property value is cleared. This should be a QSharedPointer with
// a void *pointer, but that isn't allowed
typedef char any_t;
-Q_DECLARE_METATYPE(QSharedPointer<any_t>);
+Q_DECLARE_METATYPE(std::shared_ptr<any_t>);
+
namespace PySide
{
@@ -698,7 +699,7 @@ PyObject *getWrapperForQObject(QObject *cppSelf, PyTypeObject *sbk_type)
QVariant existing = cppSelf->property(invalidatePropertyName);
if (!existing.isValid()) {
if (cppSelf->thread() == QThread::currentThread()) {
- QSharedPointer<any_t> shared_with_del(reinterpret_cast<any_t *>(cppSelf), invalidatePtr);
+ std::shared_ptr<any_t> shared_with_del(reinterpret_cast<any_t *>(cppSelf), invalidatePtr);
cppSelf->setProperty(invalidatePropertyName, QVariant::fromValue(shared_with_del));
}
pyOut = reinterpret_cast<PyObject *>(Shiboken::BindingManager::instance().retrieveWrapper(cppSelf));
diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp
index 227ffdb04..7e1bc8c6b 100644
--- a/sources/pyside6/libpyside/signalmanager.cpp
+++ b/sources/pyside6/libpyside/signalmanager.cpp
@@ -188,7 +188,7 @@ QDataStream &operator>>(QDataStream &in, PyObjectWrapper &myObj)
};
namespace PySide {
-using GlobalReceiverV2Ptr = QSharedPointer<GlobalReceiverV2>;
+using GlobalReceiverV2Ptr = std::shared_ptr<GlobalReceiverV2>;
using GlobalReceiverV2Map = QHash<PySide::GlobalReceiverKey, GlobalReceiverV2Ptr>;
}
@@ -283,13 +283,13 @@ QObject *SignalManager::globalReceiver(QObject *sender, PyObject *callback, QObj
const GlobalReceiverKey key = GlobalReceiverV2::key(callback);
auto it = globalReceivers.find(key);
if (it == globalReceivers.end()) {
- GlobalReceiverV2Ptr gr(new GlobalReceiverV2(callback, receiver));
+ auto gr = std::make_shared<GlobalReceiverV2>(callback, receiver);
it = globalReceivers.insert(key, gr);
}
if (sender)
it.value()->incRef(sender); // create a link reference
- return it.value().data();
+ return it.value().get();
}
void SignalManager::notifyGlobalReceiver(QObject *receiver)
@@ -313,7 +313,7 @@ void SignalManager::deleteGobalReceiver(const QObject *gr)
void SignalManager::SignalManagerPrivate::deleteGobalReceiver(const QObject *gr)
{
for (auto it = m_globalReceivers.begin(), end = m_globalReceivers.end(); it != end; ++it) {
- if (it.value().data() == gr) {
+ if (it.value().get() == gr) {
m_globalReceivers.erase(it);
break;
}
diff --git a/sources/pyside6/libpysideqml/pysideqmlattached.cpp b/sources/pyside6/libpysideqml/pysideqmlattached.cpp
index 295cb7595..930358d77 100644
--- a/sources/pyside6/libpysideqml/pysideqmlattached.cpp
+++ b/sources/pyside6/libpysideqml/pysideqmlattached.cpp
@@ -173,10 +173,10 @@ void initQmlAttached(PyObject *module)
}
PySide::Qml::QmlExtensionInfo qmlAttachedInfo(PyTypeObject *t,
- const QSharedPointer<QmlTypeInfo> &info)
+ const std::shared_ptr<QmlTypeInfo> &info)
{
PySide::Qml::QmlExtensionInfo result{nullptr, nullptr};
- if (info.isNull() || info->attachedType == nullptr)
+ if (!info || info->attachedType == nullptr)
return result;
auto *name = reinterpret_cast<PyTypeObject *>(t)->tp_name;
diff --git a/sources/pyside6/libpysideqml/pysideqmlattached_p.h b/sources/pyside6/libpysideqml/pysideqmlattached_p.h
index 93b1bb0e6..7c8a47fb8 100644
--- a/sources/pyside6/libpysideqml/pysideqmlattached_p.h
+++ b/sources/pyside6/libpysideqml/pysideqmlattached_p.h
@@ -6,7 +6,7 @@
#include <sbkpython.h>
-#include <QtCore/QSharedPointer>
+#include <memory>
namespace PySide::Qml {
struct QmlExtensionInfo;
@@ -15,7 +15,7 @@ struct QmlTypeInfo;
void initQmlAttached(PyObject *module);
PySide::Qml::QmlExtensionInfo qmlAttachedInfo(PyTypeObject *t,
- const QSharedPointer<QmlTypeInfo> &info);
+ const std::shared_ptr<QmlTypeInfo> &info);
} // namespace PySide::Qml
#endif // PYSIDEQMLATTACHED_P_H
diff --git a/sources/pyside6/libpysideqml/pysideqmlextended.cpp b/sources/pyside6/libpysideqml/pysideqmlextended.cpp
index e42fe20dd..014794854 100644
--- a/sources/pyside6/libpysideqml/pysideqmlextended.cpp
+++ b/sources/pyside6/libpysideqml/pysideqmlextended.cpp
@@ -92,7 +92,7 @@ static QObject *extensionFactory(QObject *o)
auto *pyObjType = Py_TYPE(pyObj);
const auto info = qmlTypeInfo(reinterpret_cast<PyObject *>(pyObjType));
- if (info.isNull() || info->extensionType == nullptr) {
+ if (!info || info->extensionType == nullptr) {
qWarning("QmlExtended: Cannot find extension of %s.", pyObjType->tp_name);
return nullptr;
}
@@ -128,10 +128,10 @@ void initQmlExtended(PyObject *module)
}
PySide::Qml::QmlExtensionInfo qmlExtendedInfo(PyObject *t,
- const QSharedPointer<QmlTypeInfo> &info)
+ const std::shared_ptr<QmlTypeInfo> &info)
{
PySide::Qml::QmlExtensionInfo result{nullptr, nullptr};
- if (!info.isNull() && info->extensionType) {
+ if (info && info->extensionType) {
result.metaObject = PySide::retrieveMetaObject(info->extensionType);
if (result.metaObject) {
result.factory = extensionFactory;
diff --git a/sources/pyside6/libpysideqml/pysideqmlextended_p.h b/sources/pyside6/libpysideqml/pysideqmlextended_p.h
index 9650a26c3..17d6dae64 100644
--- a/sources/pyside6/libpysideqml/pysideqmlextended_p.h
+++ b/sources/pyside6/libpysideqml/pysideqmlextended_p.h
@@ -6,7 +6,7 @@
#include <sbkpython.h>
-#include <QtCore/QSharedPointer>
+#include <memory>
namespace PySide::Qml {
struct QmlExtensionInfo;
@@ -15,7 +15,7 @@ struct QmlTypeInfo;
void initQmlExtended(PyObject *module);
PySide::Qml::QmlExtensionInfo qmlExtendedInfo(PyObject *t,
- const QSharedPointer<QmlTypeInfo> &info);
+ const std::shared_ptr<QmlTypeInfo> &info);
} // namespace PySide::Qml
#endif // PYSIDEQMLEXTENDED_P_H
diff --git a/sources/pyside6/libpysideqml/pysideqmlregistertype.cpp b/sources/pyside6/libpysideqml/pysideqmlregistertype.cpp
index 26398ae76..8333550ed 100644
--- a/sources/pyside6/libpysideqml/pysideqmlregistertype.cpp
+++ b/sources/pyside6/libpysideqml/pysideqmlregistertype.cpp
@@ -436,7 +436,7 @@ PyObject *qmlElementMacro(PyObject *pyObj, const char *decoratorName,
const char *noCreationReason = nullptr;
const auto info = PySide::Qml::qmlTypeInfo(pyObj);
auto *registerObject = pyObj;
- if (!info.isNull()) {
+ if (info) {
if (info->flags.testFlag(PySide::Qml::QmlTypeFlag::Singleton))
mode = RegisterMode::Singleton;
else if (info->flags.testFlag(PySide::Qml::QmlTypeFlag::Uncreatable))
diff --git a/sources/pyside6/libpysideqml/pysideqmltypeinfo.cpp b/sources/pyside6/libpysideqml/pysideqmltypeinfo.cpp
index 31abedd8a..0304d33e3 100644
--- a/sources/pyside6/libpysideqml/pysideqmltypeinfo.cpp
+++ b/sources/pyside6/libpysideqml/pysideqmltypeinfo.cpp
@@ -19,7 +19,7 @@ QmlTypeInfoPtr ensureQmlTypeInfo(const PyObject *o)
auto *hash = qmlTypeInfoHashStatic();
auto it = hash->find(o);
if (it == hash->end())
- it = hash->insert(o, QmlTypeInfoPtr(new QmlTypeInfo));
+ it = hash->insert(o, std::make_shared<QmlTypeInfo>());
return it.value();
}
diff --git a/sources/pyside6/libpysideqml/pysideqmltypeinfo_p.h b/sources/pyside6/libpysideqml/pysideqmltypeinfo_p.h
index 465299833..e10a2b38c 100644
--- a/sources/pyside6/libpysideqml/pysideqmltypeinfo_p.h
+++ b/sources/pyside6/libpysideqml/pysideqmltypeinfo_p.h
@@ -7,8 +7,8 @@
#include <sbkpython.h>
#include <QtCore/QFlags>
-#include <QtCore/QSharedPointer>
+#include <memory>
#include <string>
QT_FORWARD_DECLARE_CLASS(QDebug)
@@ -36,7 +36,7 @@ struct QmlTypeInfo
PyTypeObject *extensionType = nullptr;
};
-using QmlTypeInfoPtr = QSharedPointer<QmlTypeInfo>;
+using QmlTypeInfoPtr = std::shared_ptr<QmlTypeInfo>;
QmlTypeInfoPtr ensureQmlTypeInfo(const PyObject *o);
void insertQmlTypeInfoAlias(const PyObject *o, const QmlTypeInfoPtr &value);