aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/buildgraph/artifactcleaner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/buildgraph/artifactcleaner.cpp')
-rw-r--r--src/lib/buildgraph/artifactcleaner.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/buildgraph/artifactcleaner.cpp b/src/lib/buildgraph/artifactcleaner.cpp
index 56af22b51..64c19d828 100644
--- a/src/lib/buildgraph/artifactcleaner.cpp
+++ b/src/lib/buildgraph/artifactcleaner.cpp
@@ -161,7 +161,7 @@ void ArtifactCleaner::removeEmptyDirectories(const QString &rootDir, const Build
QDirIterator it(rootDir, QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
while (it.hasNext()) {
it.next();
- if (it.fileInfo().isDir())
+ if (!it.fileInfo().isSymLink() && it.fileInfo().isDir())
removeEmptyDirectories(it.filePath(), options, &subTreeIsEmpty);
else
subTreeIsEmpty = false;
@@ -174,10 +174,11 @@ void ArtifactCleaner::removeEmptyDirectories(const QString &rootDir, const Build
throw error;
qbsWarning() << error.toString();
m_hasError = true;
+ subTreeIsEmpty = false;
}
- } else if (isEmpty) {
- *isEmpty = subTreeIsEmpty;
}
+ if (!subTreeIsEmpty && isEmpty)
+ *isEmpty = false;
}
} // namespace Internal