diff options
Diffstat (limited to 'src/networksettings/connman/qnetworksettingsservice_p.cpp')
-rw-r--r-- | src/networksettings/connman/qnetworksettingsservice_p.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/networksettings/connman/qnetworksettingsservice_p.cpp b/src/networksettings/connman/qnetworksettingsservice_p.cpp index 41f0aa0..49213c4 100644 --- a/src/networksettings/connman/qnetworksettingsservice_p.cpp +++ b/src/networksettings/connman/qnetworksettingsservice_p.cpp @@ -342,10 +342,19 @@ void QNetworkSettingsServicePrivate::updateProperty(const QString& key, const QV { Q_Q(QNetworkSettingsService); - if (key == PropertyIPv4) { + if (key == PropertyQNetworkSettingsIPv4) { QVariantMap value = qdbus_cast<QVariantMap>(val); - value >> m_ipv4config; - emit q->ipv4Changed(); + if (value[PropertyMethod].toString() == AttributeManual) { + value >> m_ipv4config; + emit q->ipv4Changed(); + } + } + else if (key == PropertyIPv4) { + QVariantMap value = qdbus_cast<QVariantMap>(val); + if (value[PropertyMethod].toString() != AttributeManual) { + value >> m_ipv4config; + emit q->ipv4Changed(); + } } else if (key == PropertyIPv6) { QVariantMap value = qdbus_cast<QVariantMap>(val); |