diff --git a/src/plugins/cmakeprojectmanager/fileapireader.cpp b/src/plugins/cmakeprojectmanager/fileapireader.cpp index e3a36d64208..5592381df73 100644 --- a/src/plugins/cmakeprojectmanager/fileapireader.cpp +++ b/src/plugins/cmakeprojectmanager/fileapireader.cpp @@ -42,7 +42,7 @@ FileApiReader::FileApiReader() QObject::connect(&m_watcher, &FileSystemWatcher::directoryChanged, this, - &FileApiReader::replyDirectoryHasChanged); + &FileApiReader::handleReplyDirectoryChange); } FileApiReader::~FileApiReader() @@ -410,7 +410,7 @@ void FileApiReader::cmakeFinishedState(int exitCode) m_lastCMakeExitCode != 0); } -void FileApiReader::replyDirectoryHasChanged(const QString &directory) const +void FileApiReader::handleReplyDirectoryChange(const QString &directory) { if (m_isParsing) return; // This has been triggered by ourselves, ignore. @@ -422,8 +422,10 @@ void FileApiReader::replyDirectoryHasChanged(const QString &directory) const QTC_CHECK(!dir.needsDevice()); QTC_ASSERT(dir.path() == directory, return); - if (m_lastReplyTimestamp.isValid() && reply.lastModified() > m_lastReplyTimestamp) + if (m_lastReplyTimestamp.isValid() && reply.lastModified() > m_lastReplyTimestamp) { + m_lastReplyTimestamp = reply.lastModified(); emit dirty(); + } } } // CMakeProjectManager::Internal diff --git a/src/plugins/cmakeprojectmanager/fileapireader.h b/src/plugins/cmakeprojectmanager/fileapireader.h index dca928cddc1..de56ad900d8 100644 --- a/src/plugins/cmakeprojectmanager/fileapireader.h +++ b/src/plugins/cmakeprojectmanager/fileapireader.h @@ -78,7 +78,7 @@ private: void startCMakeState(const QStringList &configurationArguments); void cmakeFinishedState(int exitCode); - void replyDirectoryHasChanged(const QString &directory) const; + void handleReplyDirectoryChange(const QString &directory); void makeBackupConfiguration(bool store); void writeConfigurationIntoBuildDirectory(const QStringList &configuration);