summaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-07-16 15:28:11 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-17 07:36:24 +0200
commit1f3d0ae63b2501460fc1c75f22b579b29147a80d (patch)
tree05617de2bd37bce11de6bfb0e7217a75ddbed64e /src/declarative
parent86b1cc8113f7151417206fe0478fbd71336b9c8f (diff)
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>
Diffstat (limited to 'src/declarative')
-rw-r--r--src/declarative/qml/qdeclarativecompiler.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp
index 85ae3ebc..6734e0b4 100644
--- a/src/declarative/qml/qdeclarativecompiler.cpp
+++ b/src/declarative/qml/qdeclarativecompiler.cpp
@@ -1147,7 +1147,7 @@ void QDeclarativeCompiler::genValueTypeProperty(QDeclarativeParser::Object *obj,
fetch.fetchValue.bindingSkipList = 0;
fetch.line = prop->location.start.line;
- if (obj->type == QMetaType::QVariant || output->types.at(obj->type).component) {
+ if (obj->type == -1 || output->types.at(obj->type).component) {
// We only have to do this if this is a composite type. If it is a builtin
// type it can't possibly already have bindings that need to be cleared.
foreach(Property *vprop, prop->value->valueProperties) {