diff options
author | Warwick Allison <warwick.allison@nokia.com> | 2010-04-01 03:38:28 (GMT) |
---|---|---|
committer | Warwick Allison <warwick.allison@nokia.com> | 2010-04-01 03:38:28 (GMT) |
commit | e60100c33e9b2b868350e588157de79fd1cb8a7e (patch) | |
tree | 53050221483e0663c683cc0150f6125ecf2006e5 /src | |
parent | b1748ec7a9fdcd74fcf05af3903623c7165420ad (diff) | |
download | Qt-e60100c33e9b2b868350e588157de79fd1cb8a7e.zip Qt-e60100c33e9b2b868350e588157de79fd1cb8a7e.tar.gz Qt-e60100c33e9b2b868350e588157de79fd1cb8a7e.tar.bz2 |
import "." first - i.e. override it by everything else.
Otherwise, simple things break, like having "image.qml" on a case-insensitive file system.
Diffstat (limited to 'src')
-rw-r--r-- | src/declarative/qml/qdeclarativecompositetypemanager.cpp | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/src/declarative/qml/qdeclarativecompositetypemanager.cpp b/src/declarative/qml/qdeclarativecompositetypemanager.cpp index c59e5e2..eb8c9eb 100644 --- a/src/declarative/qml/qdeclarativecompositetypemanager.cpp +++ b/src/declarative/qml/qdeclarativecompositetypemanager.cpp @@ -537,6 +537,31 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData int waiting = 0; + /* + For local urls, add an implicit import "." as first (most overridden) lookup. This will also trigger + the loading of the qmldir and the import of any native types from available plugins. + */ + { + + QDeclarativeDirComponents qmldircomponentsnetwork; + if (QDeclarativeCompositeTypeResource *resource + = resources.value(unit->imports.baseUrl().resolved(QUrl(QLatin1String("./qmldir"))))) { + QDeclarativeDirParser parser; + parser.setSource(QString::fromUtf8(resource->data)); + parser.parse(); + qmldircomponentsnetwork = parser.components(); + } + + QDeclarativeEnginePrivate::get(engine)-> + addToImport(&unit->imports, + qmldircomponentsnetwork, + QLatin1String("."), + QString(), + -1, -1, + QDeclarativeScriptParser::Import::File, + 0); // error ignored (just means no fallback) + } + foreach (QDeclarativeScriptParser::Import imp, unit->data.imports()) { QDeclarativeDirComponents qmldircomponentsnetwork; @@ -587,31 +612,6 @@ int QDeclarativeCompositeTypeManager::resolveTypes(QDeclarativeCompositeTypeData } } - /* - For local urls, add an implicit import "." as first lookup. This will also trigger - the loading of the qmldir and the import of any native types from available plugins. - */ - { - - QDeclarativeDirComponents qmldircomponentsnetwork; - if (QDeclarativeCompositeTypeResource *resource - = resources.value(unit->imports.baseUrl().resolved(QUrl(QLatin1String("./qmldir"))))) { - QDeclarativeDirParser parser; - parser.setSource(QString::fromUtf8(resource->data)); - parser.parse(); - qmldircomponentsnetwork = parser.components(); - } - - QDeclarativeEnginePrivate::get(engine)-> - addToImport(&unit->imports, - qmldircomponentsnetwork, - QLatin1String("."), - QString(), - -1, -1, - QDeclarativeScriptParser::Import::File, - 0); // error ignored (just means no fallback) - } - QList<QDeclarativeScriptParser::TypeReference*> types = unit->data.referencedTypes(); |