diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp index 496d075703be27dd51dfdee9b855ab8dfc02db95..bd9ddfd3e17a779c35c29190c515ad9d92eb5d0e 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp @@ -109,6 +109,7 @@ void FileFilterBaseItem::updateFileList() const QSet<QString> watchedDirectories = m_fsWatcher.directories().toSet(); const QSet<QString> unwatchDirs = watchedDirectories - dirsToBeWatched; const QSet<QString> watchDirs = dirsToBeWatched - watchedDirectories; + if (!unwatchDirs.isEmpty()) m_fsWatcher.removePaths(unwatchDirs.toList()); if (!watchDirs.isEmpty()) @@ -130,7 +131,7 @@ QSet<QString> 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;