diff options
author | Kai Koehne <[email protected]> | 2014-09-02 14:42:51 +0200 |
---|---|---|
committer | Kai Koehne <[email protected]> | 2014-09-03 09:41:48 +0200 |
commit | 9e62375b71cf32e9deebb8815c14bb0a2346747e (patch) | |
tree | d318e86ce90fc38d8fa636a7cef3150706324a2b /src/libs/qmljs/qmljslink.cpp | |
parent | ba558bc2a2abb342b014fb349a2a32e53cafcad7 (diff) |
QmlJS: Use canonical paths for matching of import directories
We rely on string comparison for detection of QML import paths. Therefore
make sure that all paths are canonical.
Change-Id: I416bc31915644a888c416d726049668b0e71f29a
Task-number: QTCREATORBUG-12902
Reviewed-by: Fawzi Mohamed <[email protected]>
Diffstat (limited to 'src/libs/qmljs/qmljslink.cpp')
-rw-r--r-- | src/libs/qmljs/qmljslink.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/libs/qmljs/qmljslink.cpp b/src/libs/qmljs/qmljslink.cpp index 50746e0a766..ede1022f205 100644 --- a/src/libs/qmljs/qmljslink.cpp +++ b/src/libs/qmljs/qmljslink.cpp @@ -438,15 +438,21 @@ Import LinkPrivate::importNonFile(Document::Ptr doc, const ImportInfo &importInf } bool LinkPrivate::importLibrary(Document::Ptr doc, - const QString &libraryPath, + const QString &libraryPath_, Import *import, const QString &importPath) { const ImportInfo &importInfo = import->info; - - const LibraryInfo libraryInfo = snapshot.libraryInfo(libraryPath); - if (!libraryInfo.isValid()) - return false; + QString libraryPath = libraryPath_; + + LibraryInfo libraryInfo = snapshot.libraryInfo(libraryPath); + if (!libraryInfo.isValid()) { + // try canonical path + libraryPath = QFileInfo(libraryPath).canonicalFilePath(); + libraryInfo = snapshot.libraryInfo(libraryPath); + if (!libraryInfo.isValid()) + return false; + } import->libraryPath = libraryPath; |