fix setting the output directory for the qmake evaluator
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>
Mon, 26 Aug 2013 13:36:34 +0000 (15:36 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 26 Aug 2013 21:57:32 +0000 (23:57 +0200)
not so wise to use the project file instead of its parent directory ...

amends f51f7b7b95

Change-Id: I35b18f81a86d097b82b8184669b0231810c66f73
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
src/linguist/lupdate/main.cpp

index bf98c8d..c6902c4 100644 (file)
@@ -460,9 +460,6 @@ static void processProjects(bool topLevel, bool nestComplain, const QStringList
         if (!outDirMap.isEmpty())
             option->setDirectories(QFileInfo(proFile).path(), outDirMap[proFile]);
 
-        ProFileEvaluator visitor(option, parser, vfs, &evalHandler);
-        visitor.setCumulative(true);
-        visitor.setOutputDir(option->shadowedPath(proFile));
         ProFile *pro;
         if (!(pro = parser->parsedProFile(proFile, topLevel ? QMakeParser::ParseReportMissing
                                                             : QMakeParser::ParseDefault))) {
@@ -470,6 +467,9 @@ static void processProjects(bool topLevel, bool nestComplain, const QStringList
                 *fail = true;
             continue;
         }
+        ProFileEvaluator visitor(option, parser, vfs, &evalHandler);
+        visitor.setCumulative(true);
+        visitor.setOutputDir(option->shadowedPath(pro->directoryName()));
         if (!visitor.accept(pro)) {
             if (topLevel)
                 *fail = true;