diff options
-rw-r--r-- | src/network/bearer/qnetworkconfigmanager_p.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp index ce04934865..e44b6897ed 100644 --- a/src/network/bearer/qnetworkconfigmanager_p.cpp +++ b/src/network/bearer/qnetworkconfigmanager_p.cpp @@ -383,8 +383,13 @@ void QNetworkConfigurationManagerPrivate::updateConfigurations() QFactoryLoader *l = loader(); const PluginKeyMap keyMap = l->keyMap(); const PluginKeyMapConstIterator cend = keyMap.constEnd(); + QStringList addedEngines; for (PluginKeyMapConstIterator it = keyMap.constBegin(); it != cend; ++it) { const QString &key = it.value(); + if (addedEngines.contains(key)) + continue; + + addedEngines.append(key); if (QBearerEngine *engine = qLoadPlugin<QBearerEngine, QBearerEnginePlugin>(l, key)) { if (key == QLatin1String("generic")) generic = engine; |