summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro3
-rw-r--r--tools/linguist/lupdate/main.cpp7
2 files changed, 8 insertions, 2 deletions
diff --git a/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro b/tests/auto/linguist/lupdate/testdata/good/proparsingsubs/project.pro
index f75a462..13f9217 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
diff --git a/tools/linguist/lupdate/main.cpp b/tools/linguist/lupdate/main.cpp
index bf212ba..7f49620 100644
--- a/tools/linguist/lupdate/main.cpp
+++ b/tools/linguist/lupdate/main.cpp
@@ -352,7 +352,12 @@ static void processProject(
QStringList subProFiles;
QDir proDir(pfi.absoluteDir());
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('/')