diff options
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() |