aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/corelib/language/language.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp
index 86a8cce5d..82d0bb102 100644
--- a/src/lib/corelib/language/language.cpp
+++ b/src/lib/corelib/language/language.cpp
@@ -1141,7 +1141,8 @@ void SourceWildCards::expandPatterns(QSet<QString> &result, const GroupConstPtr
: QDirIterator::NoIteratorFlags;
QDir::Filters itFilters = isDir
? QDir::Dirs
- : QDir::Files;
+ : QDir::Files | QDir::System
+ | QDir::Dirs; // This one is needed to get symbolic links to directories
if (isDir && !FileInfo::isPattern(filePattern))
itFilters |= QDir::Hidden;
@@ -1153,7 +1154,8 @@ void SourceWildCards::expandPatterns(QSet<QString> &result, const GroupConstPtr
const QString filePath = it.next();
if (isQbsBuildDir(it.fileInfo().dir()))
continue; // See above.
- QBS_ASSERT(FileInfo(filePath).isDir() == isDir, break);
+ if (!isDir && it.fileInfo().isDir() && !it.fileInfo().isSymLink())
+ continue;
if (isDir)
expandPatterns(result, group, changed_parts, filePath);
else