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 <axel.spoerl@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 5f23f7f416493fd52f794b1aae311ba9ca86b1c7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Thiago Macieira 2023-03-25 13:27:59 -04:00 committed by Qt Cherry-pick Bot
parent 34a584a34f
commit 76c44cd6e1

View File

@ -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;
}