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

Pick-to: 6.2 6.5
Change-Id: Idd5e1bb52be047d7b4fffffd174fb99f4557defe
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Thiago Macieira 2023-03-25 13:27:59 -04:00
parent 90d7fd5822
commit 5f23f7f416

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