diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp index 496d075703b..bd9ddfd3e17 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp @@ -109,6 +109,7 @@ void FileFilterBaseItem::updateFileList() const QSet watchedDirectories = m_fsWatcher.directories().toSet(); const QSet unwatchDirs = watchedDirectories - dirsToBeWatched; const QSet watchDirs = dirsToBeWatched - watchedDirectories; + if (!unwatchDirs.isEmpty()) m_fsWatcher.removePaths(unwatchDirs.toList()); if (!watchDirs.isEmpty()) @@ -130,7 +131,7 @@ QSet FileFilterBaseItem::filesInSubTree(const QDir &rootDir, const QDir if (m_recursive) { foreach (const QFileInfo &subDir, dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot)) { - fileSet += filesInSubTree(rootDir, QDir(subDir.absoluteFilePath())); + fileSet += filesInSubTree(rootDir, QDir(subDir.absoluteFilePath()), parsedDirs); } } return fileSet;