summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2011-04-20 16:28:58 +0200
committerOlivier Goffart <olivier.goffart@nokia.com>2011-05-11 16:39:45 +0200
commit23db871a44ee857994cc7f26c9508e91b18f2761 (patch)
tree22aa7992969a9848033ffb9c8766b912b2b18e1a /src/corelib
parent86a6ffbc3e991c62ec9306f63a1d1d6721e2977e (diff)
make QLibraryInfo return clean paths
as a side effect, don't use QDir for path resolution - it doesn't buy us anything. Task-number: QTBUG-1371 Reviewed-by: joerg (cherry picked from commit 9cd62e4f7b23894a672297f6eebda64cdbd53cb0)
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/global/qlibraryinfo.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index 180eadfdfc..005e90a823 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -450,10 +450,11 @@ QLibraryInfo::location(LibraryLocation loc)
}
if (QDir::isRelativePath(ret)) {
+ QString baseDir;
if (loc == PrefixPath) {
// we make the prefix path absolute to the executable's directory
#ifdef BOOTSTRAPPING
- return QDir(QFileInfo(qmake_libraryInfoFile()).absolutePath()).absoluteFilePath(ret);
+ baseDir = QFileInfo(qmake_libraryInfoFile()).absolutePath();
#else
if (QCoreApplication::instance()) {
#ifdef Q_OS_MAC
@@ -466,15 +467,16 @@ QLibraryInfo::location(LibraryLocation loc)
}
}
#endif
- return QDir(QCoreApplication::applicationDirPath()).absoluteFilePath(ret);
+ baseDir = QCoreApplication::applicationDirPath();
} else {
- return QDir::current().absoluteFilePath(ret);
+ baseDir = QDir::currentPath();
}
#endif
} else {
// we make any other path absolute to the prefix directory
- return QDir(location(PrefixPath)).absoluteFilePath(ret);
+ baseDir = location(PrefixPath);
}
+ ret = QDir::cleanPath(baseDir + QLatin1Char('/') + ret);
}
return ret;
}