summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/networksettings/connman/qnetworksettingsservice_p.cpp15
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);