aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/declarative/qml/qdeclarativevmemetaobject.cpp1
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/PropertyVarBaseItem.qml5
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/propertyVar.10.qml8
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp1
4 files changed, 15 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativevmemetaobject.cpp b/src/declarative/qml/qdeclarativevmemetaobject.cpp
index a37be927e8..e5e864142a 100644
--- a/src/declarative/qml/qdeclarativevmemetaobject.cpp
+++ b/src/declarative/qml/qdeclarativevmemetaobject.cpp
@@ -992,6 +992,7 @@ void QDeclarativeVMEMetaObject::setVMEProperty(int index, v8::Handle<v8::Value>
if (index < propOffset) {
Q_ASSERT(parent);
static_cast<QDeclarativeVMEMetaObject *>(parent)->setVMEProperty(index, v);
+ return;
}
return writeVarProperty(index - propOffset, v);
}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/PropertyVarBaseItem.qml b/tests/auto/declarative/qdeclarativeecmascript/data/PropertyVarBaseItem.qml
new file mode 100644
index 0000000000..5f28833fe7
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/PropertyVarBaseItem.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Item {
+ property var random: null
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/propertyVar.10.qml b/tests/auto/declarative/qdeclarativeecmascript/data/propertyVar.10.qml
new file mode 100644
index 0000000000..ac7f2bed57
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/propertyVar.10.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+PropertyVarBaseItem {
+ property bool test: false
+ Component.onCompleted: {
+ test = true;
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
index 8a028ae039..0e3cfd8970 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
@@ -3701,6 +3701,7 @@ void tst_qdeclarativeecmascript::propertyVar_data()
QTest::newRow("javascript map assignment") << testFileUrl("propertyVar.7.qml");
QTest::newRow("literal property assignment") << testFileUrl("propertyVar.8.qml");
QTest::newRow("qobject property assignment") << testFileUrl("propertyVar.9.qml");
+ QTest::newRow("base class var property assignment") << testFileUrl("propertyVar.10.qml");
}
void tst_qdeclarativeecmascript::propertyVar()