aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qqmltypecompiler.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2014-02-20 12:25:36 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-02 14:48:08 +0100
commit05d285b0bf1a4dae42b083bcadf25510325496fd (patch)
treee3658eec0a2e3f4259ccf31dca8910191160167d /src/qml/compiler/qqmltypecompiler.cpp
parent1c509a887a177939556514cd7cd389031d05117c (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.cpp8
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.