From 76c44cd6e1e22dfcaa03ef1283525661eb347ebd Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 25 Mar 2023 13:27:59 -0400 Subject: [PATCH] QPluginLoader: modernize static plugin instance code - don't create the QGlobalStatic if it doesn't exist yet - remove int-based iteration in favor of range-based for Change-Id: Idd5e1bb52be047d7b4fffffd174fb99f4557defe Reviewed-by: Axel Spoerl Reviewed-by: Joerg Bornemann (cherry picked from commit 5f23f7f416493fd52f794b1aae311ba9ca86b1c7) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/plugin/qpluginloader.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp index 599256783ef..e07f1c2774b 100644 --- a/src/corelib/plugin/qpluginloader.cpp +++ b/src/corelib/plugin/qpluginloader.cpp @@ -390,12 +390,11 @@ void Q_CORE_EXPORT qRegisterStaticPluginFunction(QStaticPlugin plugin) QObjectList QPluginLoader::staticInstances() { QObjectList instances; - const StaticPluginList *plugins = staticPluginList(); - if (plugins) { - const int numPlugins = plugins->size(); - instances.reserve(numPlugins); - for (int i = 0; i < numPlugins; ++i) - instances += plugins->at(i).instance(); + if (staticPluginList.exists()) { + const StaticPluginList &plugins = *staticPluginList; + instances.reserve(plugins.size()); + for (QStaticPlugin plugin : plugins) + instances += plugin.instance(); } return instances; }