diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-05-20 15:43:48 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-05-26 08:04:17 +0000 |
commit | 7accd9cc74d88a17b08c83ea4b8275557dc318bb (patch) | |
tree | bf34489a210340e8866c07f184c0611506ac85a6 | |
parent | 7645c8e0f88a83d021f0a327617189b7772b14eb (diff) |
Consistently use pointers for the local variant in findProperty
Creating property data on the fly shall be optional, and we generally
use pointers for such "output" parameters.
Change-Id: I0e4c6c079381b60140971f4fd70a25d6548323eb
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
-rw-r--r-- | src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp | 2 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4qobjectwrapper.cpp | 6 | ||||
-rw-r--r-- | src/qml/qml/qqmlcontext.cpp | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmllist.cpp | 2 | ||||
-rw-r--r-- | src/qml/qml/qqmlproperty.cpp | 4 | ||||
-rw-r--r-- | src/qml/qml/qqmlpropertycache.cpp | 16 | ||||
-rw-r--r-- | src/qml/qml/qqmlpropertycache_p.h | 8 |
7 files changed, 20 insertions, 20 deletions
diff --git a/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp b/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp index 1aa24ea3a4..223c575701 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp +++ b/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp @@ -782,7 +782,7 @@ bool QQmlEngineDebugServiceImpl::setMethodBody(int objectId, const QString &meth QQmlPropertyData dummy; QQmlPropertyData *prop = - QQmlPropertyCache::property(context->engine(), object, method, contextData, dummy); + QQmlPropertyCache::property(context->engine(), object, method, contextData, &dummy); if (!prop || !prop->isVMEFunction()) return false; diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp index fd8a0bed5d..4d422a3620 100644 --- a/src/qml/jsruntime/qv4qobjectwrapper.cpp +++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp @@ -231,7 +231,7 @@ QQmlPropertyData *QObjectWrapper::findProperty( if (ddata && ddata->propertyCache) result = ddata->propertyCache->property(name, o, qmlContext); else - result = QQmlPropertyCache::property(engine->jsEngine(), o, name, qmlContext, *local); + result = QQmlPropertyCache::property(engine->jsEngine(), o, name, qmlContext, local); return result; } @@ -433,7 +433,7 @@ bool QObjectWrapper::setQmlProperty( return false; QQmlPropertyData local; - QQmlPropertyData *result = QQmlPropertyCache::property(engine->jsEngine(), object, name, qmlContext, local); + QQmlPropertyData *result = QQmlPropertyCache::property(engine->jsEngine(), object, name, qmlContext, &local); if (!result) return false; @@ -872,7 +872,7 @@ ReturnedValue QObjectWrapper::virtualResolveLookupGetter(const Object *object, E QQmlData *ddata = QQmlData::get(qobj, false); if (!ddata || !ddata->propertyCache) { QQmlPropertyData local; - QQmlPropertyData *property = QQmlPropertyCache::property(engine->jsEngine(), qobj, name, qmlContext, local); + QQmlPropertyData *property = QQmlPropertyCache::property(engine->jsEngine(), qobj, name, qmlContext, &local); return property ? getProperty(engine, qobj, property) : QV4::Encode::undefined(); } QQmlPropertyData *property = ddata->propertyCache->property(name.getPointer(), qobj, qmlContext); diff --git a/src/qml/qml/qqmlcontext.cpp b/src/qml/qml/qqmlcontext.cpp index a67eeeecc9..0b74b9d643 100644 --- a/src/qml/qml/qqmlcontext.cpp +++ b/src/qml/qml/qqmlcontext.cpp @@ -374,7 +374,7 @@ QVariant QQmlContext::contextProperty(const QString &name) const if (QObject *obj = data->contextObject()) { QQmlPropertyData local; QQmlPropertyData *property = - QQmlPropertyCache::property(data->engine(), obj, name, data, local); + QQmlPropertyCache::property(data->engine(), obj, name, data, &local); if (property) value = obj->metaObject()->property(property->coreIndex()).read(obj); } diff --git a/src/qml/qml/qqmllist.cpp b/src/qml/qml/qqmllist.cpp index b504fdf22d..9f1ffd24c5 100644 --- a/src/qml/qml/qqmllist.cpp +++ b/src/qml/qml/qqmllist.cpp @@ -135,7 +135,7 @@ QQmlListReference::QQmlListReference(QObject *object, const char *property, QQml QQmlPropertyData local; QQmlPropertyData *data = - QQmlPropertyCache::property(engine, object, QLatin1String(property), nullptr, local); + QQmlPropertyCache::property(engine, object, QLatin1String(property), nullptr, &local); if (!data || !data->isQList()) return; diff --git a/src/qml/qml/qqmlproperty.cpp b/src/qml/qml/qqmlproperty.cpp index 3824a7fb6d..1d95de9631 100644 --- a/src/qml/qml/qqmlproperty.cpp +++ b/src/qml/qml/qqmlproperty.cpp @@ -310,7 +310,7 @@ void QQmlPropertyPrivate::initProperty(QObject *obj, const QString &name) QQmlPropertyData local; QQmlPropertyData *property = - QQmlPropertyCache::property(engine, currentObject, pathName, context, local); + QQmlPropertyCache::property(engine, currentObject, pathName, context, &local); if (!property) return; // Not a property if (property->isFunction()) @@ -412,7 +412,7 @@ void QQmlPropertyPrivate::initProperty(QObject *obj, const QString &name) // Property QQmlPropertyData local; QQmlPropertyData *property = - QQmlPropertyCache::property(engine, currentObject, terminal, context, local); + QQmlPropertyCache::property(engine, currentObject, terminal, context, &local); if (property && !property->isFunction()) { object = currentObject; core = *property; diff --git a/src/qml/qml/qqmlpropertycache.cpp b/src/qml/qml/qqmlpropertycache.cpp index d1b040ee99..6cf09e4886 100644 --- a/src/qml/qml/qqmlpropertycache.cpp +++ b/src/qml/qml/qqmlpropertycache.cpp @@ -1014,7 +1014,7 @@ static inline QByteArray qQmlPropertyCacheToString(const QV4::String *string) template<typename T> QQmlPropertyData * qQmlPropertyCacheProperty(QJSEngine *engine, QObject *obj, T name, - const QQmlRefPointer<QQmlContextData> &context, QQmlPropertyData &local) + const QQmlRefPointer<QQmlContextData> &context, QQmlPropertyData *local) { QQmlPropertyCache *cache = nullptr; @@ -1036,10 +1036,10 @@ qQmlPropertyCacheProperty(QJSEngine *engine, QObject *obj, T name, if (cache) { rv = cache->property(name, obj, context); - } else { - local = qQmlPropertyCacheCreate(obj->metaObject(), qQmlPropertyCacheToString(name)); - if (local.isValid()) - rv = &local; + } else if (local) { + *local = qQmlPropertyCacheCreate(obj->metaObject(), qQmlPropertyCacheToString(name)); + if (local->isValid()) + rv = local; } return rv; @@ -1047,21 +1047,21 @@ qQmlPropertyCacheProperty(QJSEngine *engine, QObject *obj, T name, QQmlPropertyData * QQmlPropertyCache::property(QJSEngine *engine, QObject *obj, const QV4::String *name, - const QQmlRefPointer<QQmlContextData> &context, QQmlPropertyData &local) + const QQmlRefPointer<QQmlContextData> &context, QQmlPropertyData *local) { return qQmlPropertyCacheProperty<const QV4::String *>(engine, obj, name, context, local); } QQmlPropertyData * QQmlPropertyCache::property(QJSEngine *engine, QObject *obj, const QStringRef &name, - const QQmlRefPointer<QQmlContextData> &context, QQmlPropertyData &local) + const QQmlRefPointer<QQmlContextData> &context, QQmlPropertyData *local) { return qQmlPropertyCacheProperty<const QStringRef &>(engine, obj, name, context, local); } QQmlPropertyData * QQmlPropertyCache::property(QJSEngine *engine, QObject *obj, const QLatin1String &name, - const QQmlRefPointer<QQmlContextData> &context, QQmlPropertyData &local) + const QQmlRefPointer<QQmlContextData> &context, QQmlPropertyData *local) { return qQmlPropertyCacheProperty<const QLatin1String &>(engine, obj, name, context, local); } diff --git a/src/qml/qml/qqmlpropertycache_p.h b/src/qml/qml/qqmlpropertycache_p.h index 43ffb0fb36..86435656db 100644 --- a/src/qml/qml/qqmlpropertycache_p.h +++ b/src/qml/qml/qqmlpropertycache_p.h @@ -137,15 +137,15 @@ public: inline bool isAllowedInRevision(QQmlPropertyData *) const; static QQmlPropertyData *property(QJSEngine *, QObject *, const QStringRef &, - const QQmlRefPointer<QQmlContextData> &, QQmlPropertyData &); + const QQmlRefPointer<QQmlContextData> &, QQmlPropertyData *); static QQmlPropertyData *property(QJSEngine *, QObject *, const QLatin1String &, - const QQmlRefPointer<QQmlContextData> &, QQmlPropertyData &); + const QQmlRefPointer<QQmlContextData> &, QQmlPropertyData *); static QQmlPropertyData *property(QJSEngine *, QObject *, const QV4::String *, - const QQmlRefPointer<QQmlContextData> &, QQmlPropertyData &); + const QQmlRefPointer<QQmlContextData> &, QQmlPropertyData *); static QQmlPropertyData *property(QJSEngine *engine, QObject *obj, const QString &name, const QQmlRefPointer<QQmlContextData> &context, - QQmlPropertyData &local) + QQmlPropertyData *local) { return property(engine, obj, QStringRef(&name), context, local); } |