diff options
author | Alan Alpert <416365416c@gmail.com> | 2012-12-16 21:24:14 -0800 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-18 12:54:15 +0100 |
commit | 4d3a64c5e65a781acb4acf4ba641456da28bd1e4 (patch) | |
tree | 10d1374401131a7d22146cdf7029307aea9efe7b /src/qml/qml/qqmltypeloader.cpp | |
parent | 58471eb3f267dbee728b1c13f87458f2ee509bfa (diff) |
Add Composite Types to QQmlType
When a composite type is loaded from a QML file, it now generates a
QQmlType entry in QQmlMetaTypeData.
Change-Id: I9b127dff7955456aacb25138fa6ea8efb7bb9221
Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Reviewed-by: Alan Alpert <aalpert@rim.com>
Diffstat (limited to 'src/qml/qml/qqmltypeloader.cpp')
-rw-r--r-- | src/qml/qml/qqmltypeloader.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp index aa7a2d95c7..5910f60667 100644 --- a/src/qml/qml/qqmltypeloader.cpp +++ b/src/qml/qml/qqmltypeloader.cpp @@ -2135,12 +2135,12 @@ void QQmlTypeData::resolveTypes() TypeReference ref; QString url; - int majorVersion; - int minorVersion; + int majorVersion = -1; + int minorVersion = -1; QQmlImportNamespace *typeNamespace = 0; QList<QQmlError> errors; - if (!m_imports.resolveType(parserRef->name, &ref.type, &url, &majorVersion, &minorVersion, + if (!m_imports.resolveType(parserRef->name, &ref.type, &majorVersion, &minorVersion, &typeNamespace, &errors) || typeNamespace) { // Known to not be a type: // - known to be a namespace (Namespace {}) @@ -2169,13 +2169,12 @@ void QQmlTypeData::resolveTypes() return; } - if (ref.type) { - ref.majorVersion = majorVersion; - ref.minorVersion = minorVersion; - } else { - ref.typeData = typeLoader()->getType(QUrl(url)); + if (ref.type->isComposite()) { + ref.typeData = typeLoader()->getType(ref.type->sourceUrl()); addDependency(ref.typeData); } + ref.majorVersion = majorVersion; + ref.minorVersion = minorVersion; Q_ASSERT(parserRef->firstUse); ref.location = parserRef->firstUse->location.start; |