permit explicitly empty qt.conf entries
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>
Tue, 20 Mar 2012 18:18:51 +0000 (19:18 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 21 Mar 2012 10:49:10 +0000 (11:49 +0100)
this allows expressing "no SettingsPath" cleanly, and makes the
internals cleaner.

this is marginally behavior-incompatible in that if somebody had Prefix
or Data set to an empty string (rather than a dot, which is hinted at by
the documentation and commanded by common sense), he would have gotten
the binary's directory resp. Prefix, while now it will be just empty.

Change-Id: I3c11cc4e8671ffb604d4889389764a9ba9c2e7e6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
src/corelib/global/qlibraryinfo.cpp

index cb4e0e7..dc68ea7 100644 (file)
@@ -217,14 +217,14 @@ QLibraryInfo::isDebugBuild()
 static const struct {
     char key[14], value[13];
 } qtConfEntries[] = {
-    { "Prefix", "" },
+    { "Prefix", "." },
     { "Documentation", "doc" },
     { "Headers", "include" },
     { "Libraries", "lib" },
     { "Binaries", "bin" },
     { "Plugins", "plugins" },
     { "Imports", "imports" },
-    { "Data", "" },
+    { "Data", "." },
     { "Translations", "translations" },
     { "Examples", "examples" },
     { "Tests", "tests" },
@@ -232,7 +232,7 @@ static const struct {
     { "Sysroot", "" },
     { "HostPrefix", "" },
     { "HostBinaries", "bin" },
-    { "HostData", "" },
+    { "HostData", "." },
 #endif
 };
 
@@ -309,7 +309,7 @@ QLibraryInfo::rawLocation(LibraryLocation loc)
         }
     }
 
-    if (QDir::isRelativePath(ret)) {
+    if (!ret.isEmpty() && QDir::isRelativePath(ret)) {
         QString baseDir;
 #ifdef QT_BUILD_QMAKE
         if (loc == HostPrefixPath || loc == PrefixPath) {