diff --git a/src/shared/proparser/qmakebuiltins.cpp b/src/shared/proparser/qmakebuiltins.cpp index 274ef9f328f..6e29843ed19 100644 --- a/src/shared/proparser/qmakebuiltins.cpp +++ b/src/shared/proparser/qmakebuiltins.cpp @@ -308,6 +308,7 @@ QMakeEvaluator::writeFile(const QString &ctx, const QString &fn, QIODevice::Open .arg(ctx, QDir::toNativeSeparators(qfi.filePath()), errStr)); return ReturnFalse; } + m_parser->discardFileFromCache(qfi.filePath()); return ReturnTrue; } diff --git a/src/shared/proparser/qmakeparser.cpp b/src/shared/proparser/qmakeparser.cpp index a7e022a249b..1cbb57889a1 100644 --- a/src/shared/proparser/qmakeparser.cpp +++ b/src/shared/proparser/qmakeparser.cpp @@ -210,6 +210,12 @@ ProFile *QMakeParser::parsedProBlock( return pro; } +void QMakeParser::discardFileFromCache(const QString &fileName) +{ + if (m_cache) + m_cache->discardFile(fileName); +} + bool QMakeParser::read(ProFile *pro) { QFile file(pro->fileName()); diff --git a/src/shared/proparser/qmakeparser.h b/src/shared/proparser/qmakeparser.h index 7db20158415..6fc599f617d 100644 --- a/src/shared/proparser/qmakeparser.h +++ b/src/shared/proparser/qmakeparser.h @@ -82,6 +82,8 @@ public: ProFile *parsedProBlock(const QString &contents, const QString &name, int line = 0, SubGrammar grammar = FullGrammar); + void discardFileFromCache(const QString &fileName); + private: enum ScopeNesting { NestNone = 0,