Fix regression from Qt 4 for deep group properties
authorSimon Hausmann <simon.hausmann@digia.com>
Tue, 16 Jul 2013 13:28:11 +0000 (15:28 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Wed, 17 Jul 2013 05:36:24 +0000 (07:36 +0200)
commit1f3d0ae63b2501460fc1c75f22b579b29147a80d
tree05617de2bd37bce11de6bfb0e7217a75ddbed64e
parent86b1cc8113f7151417206fe0478fbd71336b9c8f
Fix regression from Qt 4 for deep group properties

Setting a property like someObject.font.family would cause an out-of-bounds
assertion in QList, called from QQmlCompiler::genValueTypeProperty. This
appears to be a regression from commit
5e970b84663f5398eb51d4575856d1a3c44df953, which replaced one -1 to
QMetaType::QVariant too many times. It appears the use of -1 is rather
deliberate here and not to indicate the use of a QVariant property.

The attached test verifies this as well as the successful setting of the
property at the end.

Task-number: QTBUG-31576
Change-Id: I237ea08847e1db31481a311ea8ec23a5ccc702d8
Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
src/declarative/qml/qdeclarativecompiler.cpp
tests/auto/declarative/qdeclarativelanguage/data/DeepComponent.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativelanguage/data/deepProperty.qml [new file with mode: 0644]
tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp