diff --git a/src/linguist/lupdate/main.cpp b/src/linguist/lupdate/main.cpp index 0ef299be3a777d959973ce6cb20b243b122b17d1..1eac99be85a56f4ae5ce746f276f0f71612325bf 100644 --- a/src/linguist/lupdate/main.cpp +++ b/src/linguist/lupdate/main.cpp @@ -361,7 +361,12 @@ static void processProject( QStringList subProFiles; QDir proDir(proPath); foreach (const QString &subdir, visitor.values(QLatin1String("SUBDIRS"))) { - QString subPro = QDir::cleanPath(proDir.absoluteFilePath(subdir)); + QString realdir = visitor.value(subdir + QLatin1String(".subdir")); + if (realdir.isEmpty()) + realdir = visitor.value(subdir + QLatin1String(".file")); + if (realdir.isEmpty()) + realdir = subdir; + QString subPro = QDir::cleanPath(proDir.absoluteFilePath(realdir)); QFileInfo subInfo(subPro); if (subInfo.isDir()) subProFiles << (subPro + QLatin1Char('/') diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro index f75a4627661aa32c1592a5e158c9e12bdc73483c..13f921703f96b779e2522a98ebec5d6af425f4e9 100644 --- a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro +++ b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro @@ -1,2 +1,3 @@ TEMPLATE = subdirs -SUBDIRS = win mac unix common +comm.subdir = common +SUBDIRS = win mac unix comm