diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-02-20 12:25:36 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-02 14:48:08 +0100 |
commit | 05d285b0bf1a4dae42b083bcadf25510325496fd (patch) | |
tree | e3658eec0a2e3f4259ccf31dca8910191160167d /src/qml/compiler/qqmltypecompiler.cpp | |
parent | 1c509a887a177939556514cd7cd389031d05117c (diff) |
[new compiler] Don't allow for attached properties inside group properties or nested
Change-Id: I7ca4e1c1b111d587f519275b146179b4e6f6a51f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qqmltypecompiler.cpp')
-rw-r--r-- | src/qml/compiler/qqmltypecompiler.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/qml/compiler/qqmltypecompiler.cpp b/src/qml/compiler/qqmltypecompiler.cpp index 71a7c71dc1..7da2a63e94 100644 --- a/src/qml/compiler/qqmltypecompiler.cpp +++ b/src/qml/compiler/qqmltypecompiler.cpp @@ -1482,9 +1482,13 @@ bool QQmlPropertyValidator::validateObject(int objectIndex, const QV4::CompiledD if (binding->type >= QV4::CompiledData::Binding::Type_Object) { if (!validateObject(binding->value.objectIndex, binding)) return false; - // Nothing further to check for attached properties. - if (binding->type == QV4::CompiledData::Binding::Type_AttachedProperty) + if (binding->type == QV4::CompiledData::Binding::Type_AttachedProperty) { + if (instantiatingBinding && (instantiatingBinding->isAttachedProperty() || instantiatingBinding->isGroupProperty())) { + recordError(binding->location, tr("Attached properties cannot be used here")); + return false; + } continue; + } } // Signal handlers were resolved and checked earlier in the signal handler conversion pass. |