diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index d106f2697e8..2dbaaae8568 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -237,6 +237,7 @@ static QList scanForFilesRecursively(const Utils::FileName &director double progressStart, double progressRange) { QList result; + const QDir baseDir = QDir(directory.toString()); // Do not follow directory loops: @@ -252,6 +253,9 @@ static QList scanForFilesRecursively(const Utils::FileName &director const double progressIncrement = progressRange / static_cast(entries.count()); int lastIntProgress = 0; for (const QFileInfo &entry : entries) { + if (future && future->isCanceled()) + return result; + const Utils::FileName entryName = Utils::FileName::fromString(entry.absoluteFilePath()); if (!vcsControl || !vcsControl->isVcsFileOrDirectory(entryName)) { if (entry.isDir())