summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp5
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;