diff options
author | Ulf Hermann <[email protected]> | 2016-05-04 17:39:41 +0200 |
---|---|---|
committer | Ulf Hermann <[email protected]> | 2016-05-09 08:44:07 +0000 |
commit | ca220513039fc725eccf45e1bdc5b6436f79eb24 (patch) | |
tree | e62d96d96d8b72beff1d3dc852d75ecf3bab40cf /src/libs | |
parent | 8d15633a22d5fb72db3342626e001bfbcf0e0d7b (diff) |
QmlJS: Avoid infinite loop on empty list of import paths
Change-Id: I1b7bade71226e4181b2643cabb53f934930afc81
Reviewed-by: Marco Benelli <[email protected]>
Reviewed-by: Thomas Hartmann <[email protected]>
Diffstat (limited to 'src/libs')
-rw-r--r-- | src/libs/qmljs/qmljslink.cpp | 2 | ||||
-rw-r--r-- | src/libs/qmljs/qmljsutils.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/libs/qmljs/qmljslink.cpp b/src/libs/qmljs/qmljslink.cpp index 1d084bf395d..4becf6e011d 100644 --- a/src/libs/qmljs/qmljslink.cpp +++ b/src/libs/qmljs/qmljslink.cpp @@ -378,7 +378,7 @@ Import LinkPrivate::importNonFile(Document::Ptr doc, const ImportInfo &importInf const ComponentVersion version = importInfo.version(); QString libraryPath = modulePath(packageName, version.toString(), importPaths); - bool importFound = importLibrary(doc, libraryPath, &import); + bool importFound = !libraryPath.isEmpty() && importLibrary(doc, libraryPath, &import); // if there are cpp-based types for this package, use them too if (valueOwner->cppQmlTypes().hasModule(packageName)) { diff --git a/src/libs/qmljs/qmljsutils.cpp b/src/libs/qmljs/qmljsutils.cpp index 98deff530ac..a3ebed5081c 100644 --- a/src/libs/qmljs/qmljsutils.cpp +++ b/src/libs/qmljs/qmljsutils.cpp @@ -232,6 +232,8 @@ QString QmlJS::modulePath(const QString &name, const QString &version, const QStringList &importPaths) { Q_ASSERT(maybeModuleVersion(version)); + if (importPaths.isEmpty()) + return QString(); const QStringList parts = name.split(QLatin1Char('.'), QString::SkipEmptyParts); auto mkpath = [] (const QStringList &xs) -> QString { return xs.join(QLatin1Char('/')); }; |