From 020947fa30c72245f008bcaa9b76feee7f2d1c72 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Wed, 12 Oct 2016 13:39:43 +0300 Subject: QQmlProperty: use new QQmlPropertyCache::property() with QStringRef arg Recude memory allocations. Change-Id: I259e47e3c47a562817d1b9585a89c9f8a00260c0 Reviewed-by: Lars Knoll --- src/qml/qml/qqmlproperty.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/qml/qml/qqmlproperty.cpp') diff --git a/src/qml/qml/qqmlproperty.cpp b/src/qml/qml/qqmlproperty.cpp index c62fef7c3d..df336f0803 100644 --- a/src/qml/qml/qqmlproperty.cpp +++ b/src/qml/qml/qqmlproperty.cpp @@ -285,7 +285,7 @@ void QQmlPropertyPrivate::initProperty(QObject *obj, const QString &name) QQmlPropertyData local; QQmlPropertyData *property = - QQmlPropertyCache::property(engine, currentObject, pathName.toString(), context, local); + QQmlPropertyCache::property(engine, currentObject, pathName, context, local); if (!property) return; // Not a property if (property->isFunction()) @@ -350,7 +350,7 @@ void QQmlPropertyPrivate::initProperty(QObject *obj, const QString &name) // Try property if (signalName.endsWith(QLatin1String("Changed"))) { - QString propName = signalName.mid(0, signalName.length() - 7); + const QStringRef propName = signalName.midRef(0, signalName.length() - 7); QQmlPropertyData *d = ddata->propertyCache->property(propName, currentObject, context); while (d && d->isFunction()) d = ddata->propertyCache->overrideData(d); @@ -374,14 +374,13 @@ void QQmlPropertyPrivate::initProperty(QObject *obj, const QString &name) } // Property - const QString terminalString = terminal.toString(); QQmlPropertyData local; QQmlPropertyData *property = - QQmlPropertyCache::property(engine, currentObject, terminalString, context, local); + QQmlPropertyCache::property(engine, currentObject, terminal, context, local); if (property && !property->isFunction()) { object = currentObject; core = *property; - nameCache = terminalString; + nameCache = terminal.toString(); isNameCached = true; } } -- cgit v1.2.3