Initialize value type properties.
authorRoberto Raggi <roberto.raggi@nokia.com>
Tue, 24 Apr 2012 10:03:51 +0000 (12:03 +0200)
committerQt by Nokia <qt-info@nokia.com>
Tue, 24 Apr 2012 11:00:28 +0000 (13:00 +0200)
This patch ensures that the value type properties (e.g. QColor)
are initialized before updating their values.

Change-Id: I789fe8247e0ded17460570ab28b8834aa22f0a40
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
src/qml/qml/qqmlvmemetaobject.cpp

index d163282..b39ca34 100644 (file)
@@ -645,6 +645,8 @@ int QQmlVMEMetaObject::metaCall(QMetaObject::Call c, int _id, void **a)
                             writeProperty(id, *reinterpret_cast<QVariant *>(a[0]));
                             break;
                         default:
+                            if (! data[id].dataType())
+                                QQml_valueTypeProvider()->initValueType(t, data[id].dataPtr(), data[id].dataSize());
                             needActivate = QQml_valueTypeProvider()->writeValueType(t, a[0], data[id].dataPtr(), data[id].dataSize());
                             if (needActivate) {
                                 data[id].setDataType(t);