From ff7fcd752a0866f9c521c1b90fe66e65dc8fbd92 Mon Sep 17 00:00:00 2001 From: elsid Date: Tue, 21 Mar 2023 01:04:13 +0100 Subject: [PATCH] Use set to track visited directories instead of removing duplicates --- apps/launcher/datafilespage.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/launcher/datafilespage.cpp b/apps/launcher/datafilespage.cpp index 2bb31eaf71..32e96f399b 100644 --- a/apps/launcher/datafilespage.cpp +++ b/apps/launcher/datafilespage.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include @@ -234,10 +235,12 @@ void Launcher::DataFilesPage::populateFileViews(const QString& contentModelName) for (auto& currentDir : directories) currentDir = QDir(QDir::cleanPath(currentDir)).canonicalPath(); - // add directories, archives and content files - directories.removeDuplicates(); - for (const auto& currentDir : directories) + std::unordered_set visitedDirectories; + for (const QString& currentDir : directories) { + if (!visitedDirectories.insert(currentDir).second) + continue; + // add new achives files presents in current directory addArchivesFromDir(currentDir);