From 66a7f8d527b7555871f7eea92801aa9175b7cc20 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Thu, 9 Sep 2021 06:59:26 +0200 Subject: [PATCH] QtSupport: Use FilePath api to detect Qt special names Change-Id: I1b95c049a63cdbb69c873e675d6e93722b1c422e Reviewed-by: hjk --- src/plugins/qtsupport/baseqtversion.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index a3fdb92ee61..4275f4e3412 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -351,9 +351,8 @@ QString BaseQtVersion::defaultUnexpandedDisplayName() const } else { // Deduce a description from '/foo/qt-folder/[qtbase]/bin/qmake' -> '/foo/qt-folder'. // '/usr' indicates System Qt 4.X on Linux. - QDir dir = qmakeFilePath().toFileInfo().absoluteDir(); - do { - const QString dirName = dir.dirName(); + for (FilePath dir = qmakeFilePath().parentDir(); !dir.isEmpty(); dir = dir.parentDir()) { + const QString dirName = dir.fileName(); if (dirName == "usr") { // System-installed Qt. location = QCoreApplication::translate("QtVersion", "System"); break; @@ -365,7 +364,7 @@ QString BaseQtVersion::defaultUnexpandedDisplayName() const && dirName.compare("qt", Qt::CaseInsensitive)) { break; } - } while (!dir.isRoot() && dir.cdUp()); + } } return detectionSource() == "PATH" ?