From 1f3cf206f4bdc0e3da0bf1317be78731243be770 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 4 Jun 2020 17:39:20 +0200 Subject: QFactoryLoader: port a local QStringList to QDuplicateTracker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apart from a more fitting, minimal, API, QDuplicateTracker also transparently uses C++17 pmr::monotonic_buffer_resource to avoid, or at least reduce, memory allocations. Change-Id: I0a0d1e31fd35d483e0036045847a3759b593c71c Reviewed-by: MÃ¥rten Nordheim --- src/corelib/plugin/qfactoryloader.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/corelib/plugin') diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp index 582f48e93e..32b07a5636 100644 --- a/src/corelib/plugin/qfactoryloader.cpp +++ b/src/corelib/plugin/qfactoryloader.cpp @@ -57,6 +57,7 @@ #include "qjsonvalue.h" #include "qjsonobject.h" #include "qjsonarray.h" +#include "private/qduplicatetracker_p.h" #include @@ -165,7 +166,7 @@ public: QMap keyMap; QString suffix; Qt::CaseSensitivity cs; - QStringList loadedPaths; + QDuplicateTracker loadedPaths; #endif }; @@ -192,9 +193,8 @@ void QFactoryLoader::update() for (int i = 0; i < paths.count(); ++i) { const QString &pluginDir = paths.at(i); // Already loaded, skip it... - if (d->loadedPaths.contains(pluginDir)) + if (d->loadedPaths.hasSeen(pluginDir)) continue; - d->loadedPaths << pluginDir; #ifdef Q_OS_ANDROID QString path = pluginDir; -- cgit v1.2.3