diff options
Diffstat (limited to 'src/plugins/bearer')
-rw-r--r-- | src/plugins/bearer/connman/qconnmanengine.cpp | 12 |
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(); |