Qmake: Fix infinite reparsing loop

Under certain circumstances, the file system watcher in the qmake
project parser keeps emitting the directoryChanged() signal even though
there seem to be no changes on the file system. Make sure we reparse
only if the directory timestamp has really changed.
This amends 76262814b6.

Change-Id: Ibdcd1e8405a49e78528bf5903e7caafc371cad1b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Christian Kandeler
2019-03-14 13:27:28 +01:00
parent 9c596080b7
commit 47d159273e

View File

@@ -1631,7 +1631,7 @@ void QmakeProFile::applyEvaluate(QmakeEvalResult *evalResult)
Utils::filtered<QStringList>(result->directoriesWithWildcards.toList(),
[this](const QString &path) {
return !m_wildcardWatcher->watchesDirectory(path);
}), Utils::FileSystemWatcher::WatchAllChanges);
}), Utils::FileSystemWatcher::WatchModifiedDate);
}
if (m_wildcardWatcher) {
if (result->directoriesWithWildcards.isEmpty()) {