diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2013-12-03 08:15:44 +0200 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2013-12-03 14:42:07 +0100 |
commit | 0a7109126051fa13e6f2e27845897792a2ba24cb (patch) | |
tree | f715507b636bb772750b3c23dbcb4f1ec4c4c691 | |
parent | a3f30b3d1712fb22180a89c5a6a128823c80fb79 (diff) | |
download | qt-creator-0a7109126051fa13e6f2e27845897792a2ba24cb.tar.gz |
Limit cdUp to root
Task-number: QTCREATORBUG-10860
Change-Id: I22550b4415e07cac0d78f36595dc7ee781a837c0
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
-rw-r--r-- | src/plugins/clearcase/clearcaseplugin.cpp | 2 | ||||
-rw-r--r-- | src/plugins/cvs/cvsplugin.cpp | 4 | ||||
-rw-r--r-- | src/plugins/git/gitclient.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qtsupport/baseqtversion.cpp | 2 | ||||
-rw-r--r-- | src/plugins/subversion/subversionplugin.cpp | 6 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbaseplugin.cpp | 2 |
6 files changed, 11 insertions, 7 deletions
diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp index e36b644f02..dd78679704 100644 --- a/src/plugins/clearcase/clearcaseplugin.cpp +++ b/src/plugins/clearcase/clearcaseplugin.cpp @@ -230,7 +230,7 @@ QString ClearCasePlugin::getDriveLetterOfPath(const QString &directory) { // cdUp until we get just the drive letter QDir dir(directory); - while (dir.cdUp()) + while (!dir.isRoot() && dir.cdUp()) { } return dir.path(); diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp index 9d4a8055f7..15826ba473 100644 --- a/src/plugins/cvs/cvsplugin.cpp +++ b/src/plugins/cvs/cvsplugin.cpp @@ -1349,7 +1349,9 @@ bool CvsPlugin::managesDirectory(const QString &directory, QString *topLevel /* * not have a "CVS" directory. The starting directory must be a managed * one. Go up and try to find the first unmanaged parent dir. */ QDir lastDirectory = dir; - for (QDir parentDir = lastDirectory; parentDir.cdUp() ; lastDirectory = parentDir) { + for (QDir parentDir = lastDirectory; + !parentDir.isRoot() && parentDir.cdUp(); + lastDirectory = parentDir) { if (!checkCVSDirectory(parentDir)) { *topLevel = lastDirectory.absolutePath(); break; diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 22d8076a3c..b6a1d9045a 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -977,7 +977,7 @@ QString GitClient::findRepositoryForDirectory(const QString &dir) else if (directory.exists(QLatin1String(".git/config"))) return directory.absolutePath(); } - } while (directory.cdUp()); + } while (!directory.isRoot() && directory.cdUp()); return QString(); } diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 451d4dcb92..e656693009 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -218,7 +218,7 @@ QString BaseQtVersion::defaultDisplayName(const QString &versionString, const Fi && dirName.compare(QLatin1String("qt"), Qt::CaseInsensitive)) { break; } - } while (dir.cdUp()); + } while (!dir.isRoot() && dir.cdUp()); } return fromPath ? diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp index de57be400e..84d107cb6e 100644 --- a/src/plugins/subversion/subversionplugin.cpp +++ b/src/plugins/subversion/subversionplugin.cpp @@ -1328,7 +1328,7 @@ bool SubversionPlugin::managesDirectory(const QString &directory, QString *topLe * furthest parent containing ".svn/wc.db". Need to check for furthest parent as closer * parents may be svn:externals. */ QDir parentDir = dir; - while (parentDir.cdUp()) { + while (!parentDir.isRoot() && parentDir.cdUp()) { if (checkSVNSubDir(parentDir, QLatin1String("wc.db"))) { if (topLevel) *topLevel = parentDir.absolutePath(); @@ -1344,7 +1344,9 @@ bool SubversionPlugin::managesDirectory(const QString &directory, QString *topLe if (topLevel) { QDir lastDirectory = dir; - for (parentDir = lastDirectory; parentDir.cdUp() ; lastDirectory = parentDir) { + for (parentDir = lastDirectory; + !parentDir.isRoot() && parentDir.cdUp(); + lastDirectory = parentDir) { if (!checkSVNSubDir(parentDir)) { *topLevel = lastDirectory.absolutePath(); break; diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp index 395de4e238..fc73d89c67 100644 --- a/src/plugins/vcsbase/vcsbaseplugin.cpp +++ b/src/plugins/vcsbase/vcsbaseplugin.cpp @@ -732,7 +732,7 @@ QString VcsBasePlugin::findRepositoryForDirectory(const QString &dirS, qDebug() << "<VcsBasePlugin::findRepositoryForDirectory> " << absDirPath; return absDirPath; } - } while (directory.cdUp()); + } while (!directory.isRoot() && directory.cdUp()); if (debugRepositorySearch) qDebug() << "<VcsBasePlugin::findRepositoryForDirectory bailing out at " << directory.absolutePath(); return QString(); |