QmlDesigner.ItemLibrary: crash fix for resources

Dragging in Images from the resources tab was broken.
Creating an Image has to work with QtQuick 1.0 and QtQuick 2.0.

Change-Id: I60702a94ec5fc53805513775f5517c30f9e1b7cd
Reviewed-by: Marco Bubke <marco.bubke@digia.com>
This commit is contained in:
Thomas Hartmann
2013-04-10 10:15:58 +02:00
parent f8c23cf4d0
commit f7d71a43c8

View File

@@ -124,7 +124,7 @@ QmlItemNode QmlModelView::createQmlItemNodeFromImage(const QString &imageName, c
}
}
if (!model()->imports().contains(newImport))
if (!model()->hasImport(newImport, true, true))
model()->changeImports(QList<Import>() << newImport, QList<Import>());
QList<QPair<PropertyName, QVariant> > propertyPairList;
@@ -140,8 +140,13 @@ QmlItemNode QmlModelView::createQmlItemNodeFromImage(const QString &imageName, c
}
propertyPairList.append(qMakePair(PropertyName("source"), QVariant(relativeImageName)));
newNode = createQmlItemNode("QtQuick.Image", -1, -1, propertyPairList);
parentNode.nodeAbstractProperty("data").reparentHere(newNode);
NodeMetaInfo metaInfo = model()->metaInfo("QtQuick.Image");
if (metaInfo.isValid()) {
int minorVersion = metaInfo.minorVersion();
int majorVersion = metaInfo.majorVersion();
newNode = createQmlItemNode("QtQuick.Image", majorVersion, minorVersion, propertyPairList);
parentNode.nodeAbstractProperty("data").reparentHere(newNode);
}
Q_ASSERT(newNode.isValid());