diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2022-03-10 12:09:00 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2022-03-14 16:44:35 +0100 |
commit | 9de2b11a7033a1969156277bafa848b5c178baa1 (patch) | |
tree | e9d349e5165350b50065663e3b9efadd94738cb8 /src/qml/qml/qqmlproperty.cpp | |
parent | e5246cafffb93f69a49c133210390c253fcb71f2 (diff) |
Make most QQmlPropertyData const
You really should not mess with that after creating the property cache.
Change-Id: I070200772475bb67f539dbbd85a298020b14ca79
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlproperty.cpp')
-rw-r--r-- | src/qml/qml/qqmlproperty.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/qml/qml/qqmlproperty.cpp b/src/qml/qml/qqmlproperty.cpp index 7a49f53e9d..36adbf4075 100644 --- a/src/qml/qml/qqmlproperty.cpp +++ b/src/qml/qml/qqmlproperty.cpp @@ -330,7 +330,7 @@ void QQmlPropertyPrivate::initProperty(QObject *obj, const QString &name, } QQmlPropertyData local; - QQmlPropertyData *property = currentObject + const QQmlPropertyData *property = currentObject ? QQmlPropertyCache::property(currentObject, pathName, context, &local) : nullptr; @@ -411,7 +411,7 @@ void QQmlPropertyPrivate::initProperty(QObject *obj, const QString &name, const QString changed = QStringLiteral("Changed"); if (signalName.endsWith(changed)) { const QStringView propName = signalName.first(signalName.length() - changed.length()); - QQmlPropertyData *d = ddata->propertyCache->property(propName, currentObject, context); + const QQmlPropertyData *d = ddata->propertyCache->property(propName, currentObject, context); while (d && d->isFunction()) d = ddata->propertyCache->overrideData(d); @@ -436,7 +436,7 @@ void QQmlPropertyPrivate::initProperty(QObject *obj, const QString &name, if (ddata && ddata->propertyCache) { // Try method - QQmlPropertyData *d = ddata->propertyCache->property( + const QQmlPropertyData *d = ddata->propertyCache->property( signalName, currentObject, context); // ### Qt7: This code treats methods as signals. It should use d->isSignal(). @@ -459,7 +459,7 @@ void QQmlPropertyPrivate::initProperty(QObject *obj, const QString &name, } if (ddata && ddata->propertyCache) { - QQmlPropertyData *property = ddata->propertyCache->property( + const QQmlPropertyData *property = ddata->propertyCache->property( terminal, currentObject, context); // Technically, we might find an override that is not a function. @@ -965,7 +965,7 @@ void QQmlPropertyPrivate::findAliasTarget(QObject *object, QQmlPropertyIndex bin int coreIndex = bindingIndex.coreIndex(); int valueTypeIndex = bindingIndex.valueTypeIndex(); - QQmlPropertyData *propertyData = + const QQmlPropertyData *propertyData = data->propertyCache?data->propertyCache->property(coreIndex):nullptr; if (propertyData && propertyData->isAlias()) { QQmlVMEMetaObject *vme = QQmlVMEMetaObject::getForProperty(object, coreIndex); @@ -1013,7 +1013,7 @@ void QQmlPropertyPrivate::setBinding(QQmlAbstractBinding *binding, BindingFlags int coreIndex = index.coreIndex(); QQmlData *data = QQmlData::get(object, true); if (data->propertyCache) { - QQmlPropertyData *propertyData = data->propertyCache->property(coreIndex); + const QQmlPropertyData *propertyData = data->propertyCache->property(coreIndex); Q_ASSERT(propertyData); } #endif @@ -1856,7 +1856,7 @@ static inline void flush_vme_signal(const QObject *object, int index, bool index { QQmlData *data = QQmlData::get(object); if (data && data->propertyCache) { - QQmlPropertyData *property = indexInSignalRange ? data->propertyCache->signal(index) + const QQmlPropertyData *property = indexInSignalRange ? data->propertyCache->signal(index) : data->propertyCache->method(index); if (property && property->isVMESignal()) { |