aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmllanguage/data/customParserBindingScopes.qml
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-12-10 15:25:22 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-12-10 15:46:09 +0100
commit29b6d2e45c7434fccf2e6878630e62d5dcce38db (patch)
treed2d0ad7639c9863c00cdd8558d9663bea813c3f3 /tests/auto/qml/qqmllanguage/data/customParserBindingScopes.qml
parentfb72bb3cf27d1f94760709aaab82e3524ae936f4 (diff)
Fix broken Maroon game / regression in PropertyChanges {} element
Commit 0aadcf8077840068eb182269e9ed9c31ad12f45e that pre-compiles the expressions in PropertyChanges {} introduced a regression in where the evaluation context was incorrect and thus bindings would not be able to access the correct properties. For example PropertyChanges { target: someObject y: height / 2 } Here height should be looked up in the context of "someObject", not of the PropertyChanges element. This patch introduces an auto-test that verifies that the lookup context is correct and fixes the bug by disabling accelerated compile time property lookups for binding expressions that are requested from a custom parser. Change-Id: I5cb607d07211b453ddfc9928ccbf5f9ecec85575 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'tests/auto/qml/qqmllanguage/data/customParserBindingScopes.qml')
-rw-r--r--tests/auto/qml/qqmllanguage/data/customParserBindingScopes.qml19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmllanguage/data/customParserBindingScopes.qml b/tests/auto/qml/qqmllanguage/data/customParserBindingScopes.qml
new file mode 100644
index 0000000000..2efc199f32
--- /dev/null
+++ b/tests/auto/qml/qqmllanguage/data/customParserBindingScopes.qml
@@ -0,0 +1,19 @@
+import Test 1.0
+import QtQml 2.0
+QtObject {
+ id: root
+
+ property int otherProperty: 10
+
+ property QtObject child: QtObject {
+ id: child
+
+ property int testProperty;
+ property int otherProperty: 41
+
+ property QtObject customBinder: CustomBinding {
+ target: child
+ testProperty: otherProperty + 1
+ }
+ }
+}