diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-02-11 11:21:03 +0100 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-02-11 15:45:45 +0100 |
commit | 2f4c131805f4009f42abe991e0f92f096bbc55fd (patch) | |
tree | 36068f58c7e3bea9c7a3a26fac9f649e624cc6d5 /src/qml/types | |
parent | 2e98ccde7b89bdb45c87c154d27566215533ac76 (diff) |
Fix QQmlProperty and Connections for properties starting with '_'
We do a weird renaming for the change handler of properties starting
with '_', now we do it at least in a consistent way.
Fixes: QTBUG-82017
Change-Id: I1535a5ee462f3a344c972461f1fb954f039aa854
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/types')
-rw-r--r-- | src/qml/types/qqmlconnections.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/qml/types/qqmlconnections.cpp b/src/qml/types/qqmlconnections.cpp index 1e801641e5..4c44bba43e 100644 --- a/src/qml/types/qqmlconnections.cpp +++ b/src/qml/types/qqmlconnections.cpp @@ -238,7 +238,8 @@ void QQmlConnectionsParser::verifyBindings(const QQmlRefPointer<QV4::ExecutableC const QV4::CompiledData::Binding *binding = props.at(ii); const QString &propName = compilationUnit->stringAt(binding->propertyNameIndex); - if (!propName.startsWith(QLatin1String("on")) || (propName.length() < 3 || !propName.at(2).isUpper())) { + const bool thirdCharacterIsValid = (propName.length() >= 2) && (propName.at(2).isUpper() || propName.at(2) == '_'); + if (!propName.startsWith(QLatin1String("on")) || !thirdCharacterIsValid) { error(props.at(ii), QQmlConnections::tr("Cannot assign to non-existent property \"%1\"").arg(propName)); return; } |