diff --git a/src/Filter.cpp b/src/Filter.cpp index ff738d9a..21a00fd8 100644 --- a/src/Filter.cpp +++ b/src/Filter.cpp @@ -505,15 +505,19 @@ QSharedPointer FileFilter::newHotSpot(int startLine, int startC void FileFilter::process() { const QDir dir(_session->currentWorkingDirectory()); - _dirPath = dir.canonicalPath() + QLatin1Char('/'); + // Do not re-process. + if (_dirPath != dir.canonicalPath() + QLatin1Char('/')) { + _dirPath = dir.canonicalPath() + QLatin1Char('/'); #if QT_VERSION >= QT_VERSION_CHECK(5,14,0) - { + const auto tmpList = dir.entryList(QDir::Dirs | QDir::Files); _currentDirContents = QSet(std::begin(tmpList), std::end(tmpList)); - } + #else - _currentDirContents = QSet::fromList(dir.entryList(QDir::Dirs | QDir::Files)); + _currentDirContents = QSet::fromList(dir.entryList(QDir::Dirs | QDir::Files)); #endif + } + RegExpFilter::process(); }