fix relative path resolution inconsistency in qmake properties

suppose we queried QT_INSTALL_DOCS/get. if no [EffectivePaths] existed,
we'd try [Paths]. if that didn't exist, either, we'd use the built-in,
which is relative. so we'd query QT_INSTALL_PREFIX ... without the /get,
which is technically wrong.

this doesn't currently matter, as all groups have the same built-in
defaults anyway, but it may (hint hint) matter later on.

Change-Id: I5a3746e80ca1bfbf2f37db3604cc351bddeacd94
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
This commit is contained in:
Oswald Buddenhagen 2014-12-03 22:03:17 +01:00
parent f1836ecaf7
commit 6e6b50f541

View File

@ -404,11 +404,13 @@ QLibraryInfo::rawLocation(LibraryLocation loc, PathGroup group)
// FinalPaths. For FinalPaths, use qt.conf if present and contains not only
// [EffectivePaths], otherwise fall back to builtins.
// EffectiveSourcePaths falls back to EffectivePaths.
PathGroup orig_group = group;
if (!QLibraryInfoPrivate::haveGroup(group)
&& !(group == EffectiveSourcePaths
&& (group = EffectivePaths, QLibraryInfoPrivate::haveGroup(group)))
&& !(group == EffectivePaths
&& (group = FinalPaths, QLibraryInfoPrivate::haveGroup(group))))
&& (group = FinalPaths, QLibraryInfoPrivate::haveGroup(group)))
&& (group = orig_group, true))
#elif !defined(QT_NO_SETTINGS)
if (!QLibraryInfoPrivate::configuration())
#endif