summaryrefslogtreecommitdiffstats
path: root/src/plugins/bearer
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/bearer')
-rw-r--r--src/plugins/bearer/connman/qconnmanengine.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/bearer/connman/qconnmanengine.cpp b/src/plugins/bearer/connman/qconnmanengine.cpp
index d9e7a1621a..24751b509f 100644
--- a/src/plugins/bearer/connman/qconnmanengine.cpp
+++ b/src/plugins/bearer/connman/qconnmanengine.cpp
@@ -350,7 +350,7 @@ void QConnmanEngine::configurationChange(const QString &id)
QMutexLocker locker(&mutex);
if (accessPointConfigurations.contains(id)) {
-
+ bool changed = false;
QNetworkConfigurationPrivatePointer ptr = accessPointConfigurations.value(id);
QString servicePath = serviceFromId(id);
@@ -368,17 +368,21 @@ void QConnmanEngine::configurationChange(const QString &id)
if (ptr->name != networkName) {
ptr->name = networkName;
+ changed = true;
}
if (ptr->state != curState) {
ptr->state = curState;
+ changed = true;
}
ptr->mutex.unlock();
- locker.unlock();
- emit configurationChanged(ptr);
- locker.relock();
+ if (changed) {
+ locker.unlock();
+ emit configurationChanged(ptr);
+ locker.relock();
+ }
}
locker.unlock();