diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-01-27 10:10:00 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-01-28 10:42:44 +0100 |
commit | c8c40c4b0df7576e1c7f3c1882dbe7bfee027d7a (patch) | |
tree | c9a3da8a2ea7e783021dd411d29aa3e01ead070d /src/qmlmodels/qqmladaptormodel_p.h | |
parent | b6143c08077c7d692fad9daa628f3ded8fa97f68 (diff) |
Properly refcount QQmlDelegateModelItemMetaType
Consistently store it in QQmlRefPointer so that it doesn't leak.
Change-Id: Id1f06228f6eb477b758901d61c1b71928671dc6a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qmlmodels/qqmladaptormodel_p.h')
-rw-r--r-- | src/qmlmodels/qqmladaptormodel_p.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/qmlmodels/qqmladaptormodel_p.h b/src/qmlmodels/qqmladaptormodel_p.h index a4549127af..ee4862f3b4 100644 --- a/src/qmlmodels/qqmladaptormodel_p.h +++ b/src/qmlmodels/qqmladaptormodel_p.h @@ -87,7 +87,7 @@ public: virtual QQmlDelegateModelItem *createItem( QQmlAdaptorModel &, - QQmlDelegateModelItemMetaType *, + const QQmlRefPointer<QQmlDelegateModelItemMetaType> &, int, int, int) const { return nullptr; } virtual bool notify( @@ -140,8 +140,11 @@ public: inline QVariant value(int index, const QString &role) const { return accessors->value(*this, index, role); } - inline QQmlDelegateModelItem *createItem(QQmlDelegateModelItemMetaType *metaType, int index) { - return accessors->createItem(*this, metaType, index, rowAt(index), columnAt(index)); } + inline QQmlDelegateModelItem *createItem( + const QQmlRefPointer<QQmlDelegateModelItemMetaType> &metaType, int index) + { + return accessors->createItem(*this, metaType, index, rowAt(index), columnAt(index)); + } inline bool hasProxyObject() const { return list.type() == QQmlListAccessor::Instance || list.type() == QQmlListAccessor::ListProperty; } |