aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp2
-rw-r--r--src/qml/jsruntime/qv4qobjectwrapper.cpp6
-rw-r--r--src/qml/qml/qqmlcontext.cpp2
-rw-r--r--src/qml/qml/qqmllist.cpp2
-rw-r--r--src/qml/qml/qqmlproperty.cpp4
-rw-r--r--src/qml/qml/qqmlpropertycache.cpp16
-rw-r--r--src/qml/qml/qqmlpropertycache_p.h8
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);
}