diff options
Diffstat (limited to 'src/qml/qml/qqmlpropertyresolver.cpp')
-rw-r--r-- | src/qml/qml/qqmlpropertyresolver.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/qml/qml/qqmlpropertyresolver.cpp b/src/qml/qml/qqmlpropertyresolver.cpp index ff29c38997..0217f7b7b5 100644 --- a/src/qml/qml/qqmlpropertyresolver.cpp +++ b/src/qml/qml/qqmlpropertyresolver.cpp @@ -3,6 +3,7 @@ #include "qqmlpropertyresolver_p.h" #include <private/qqmlcontextdata_p.h> +#include <private/qqmlsignalnames_p.h> QT_BEGIN_NAMESPACE @@ -43,10 +44,8 @@ const QQmlPropertyData *QQmlPropertyResolver::signal(const QString &name, bool * return d; } - if (name.endsWith(QLatin1String("Changed"))) { - QString propName = name.mid(0, name.size() - static_cast<int>(strlen("Changed"))); - - d = property(propName, notInRevision); + if (auto propName = QQmlSignalNames::changedSignalNameToPropertyName(name)) { + d = property(*propName, notInRevision); if (d) return cache->signal(d->notifyIndex()); } |