diff options
Diffstat (limited to 'src/lib/buildgraph/artifactcleaner.cpp')
-rw-r--r-- | src/lib/buildgraph/artifactcleaner.cpp | 7 |
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 |