From f51450571addf2cb9a55153b209b8c1a45898193 Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Wed, 19 Aug 2009 13:35:29 +1000 Subject: Fix setting the id property the 'QString id' property wasn't getting set because we want id to be treated specially. Added the corresponding special treatment to where it should set the property. Reviewed-by: Michael Brasser To-be-reviewed-by: Aaron Kennedy --- src/declarative/qml/qmlcompiler.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/declarative/qml/qmlcompiler.cpp b/src/declarative/qml/qmlcompiler.cpp index dea41ab..e04c876 100644 --- a/src/declarative/qml/qmlcompiler.cpp +++ b/src/declarative/qml/qmlcompiler.cpp @@ -1201,9 +1201,13 @@ bool QmlCompiler::buildProperty(QmlParser::Property *prop, // default property or to sub-objects (which are always in binding // sub-contexts) COMPILE_CHECK(buildIdProperty(prop, obj)); - if (prop->type == QVariant::String && - prop->values.at(0)->value.isString()) + if (prop->type == QVariant::String){ + if(!prop->values.at(0)->value.isString()){ + //Need to convert to string to assign to the QString id property + prop->values.at(0)->value = Variant(prop->values.at(0)->value.asString()); + } COMPILE_CHECK(buildPropertyAssignment(prop, obj, ctxt)); + } } else if (isAttachedPropertyName(prop->name)) { @@ -1629,7 +1633,7 @@ bool QmlCompiler::buildListProperty(QmlParser::Property *prop, // children: [ Item {}, Item {} ] // } // -// We allow assignming multiple values to single value properties +// We allow assigning multiple values to single value properties bool QmlCompiler::buildPropertyAssignment(QmlParser::Property *prop, QmlParser::Object *obj, const BindingContext &ctxt) -- cgit v0.12