summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/networksettings/connman/connman_manager.xml2
-rw-r--r--src/networksettings/connman/qnetworksettingsmanager_p.cpp14
2 files changed, 13 insertions, 3 deletions
diff --git a/src/networksettings/connman/connman_manager.xml b/src/networksettings/connman/connman_manager.xml
index 95bc0cb..ba95e8b 100644
--- a/src/networksettings/connman/connman_manager.xml
+++ b/src/networksettings/connman/connman_manager.xml
@@ -80,7 +80,7 @@
<signal name="TechnologyAdded" tp:name-for-bindings="Technology_Added">
<arg name="technology" type="o"/>
<arg name="properties" type="a{sv}"/>
- <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out1" value="QVariantMap"/>
</signal>
<signal name="TechnologyRemoved" tp:name-for-bindings="Technology_Removed">
diff --git a/src/networksettings/connman/qnetworksettingsmanager_p.cpp b/src/networksettings/connman/qnetworksettingsmanager_p.cpp
index bc92f97..77bf66f 100644
--- a/src/networksettings/connman/qnetworksettingsmanager_p.cpp
+++ b/src/networksettings/connman/qnetworksettingsmanager_p.cpp
@@ -260,11 +260,21 @@ void QNetworkSettingsManagerPrivate::onServicesChanged(ConnmanMapStructList chan
emit q->servicesChanged();
if (auto service = m_unnamedServices.take(path))
- if (!service->placeholderState())
+ if (!service->placeholderState()) {
+ disconnect(service, &QNetworkSettingsService::nameChanged,
+ this, &QNetworkSettingsManagerPrivate::serviceReady);
+ disconnect(service, &QNetworkSettingsService::typeChanged,
+ this, &QNetworkSettingsManagerPrivate::serviceReady);
service->deleteLater();
+ }
if (auto service = m_unknownServices.take(path))
- if (!service->placeholderState())
+ if (!service->placeholderState()) {
+ disconnect(service, &QNetworkSettingsService::nameChanged,
+ this, &QNetworkSettingsManagerPrivate::serviceReady);
+ disconnect(service, &QNetworkSettingsService::typeChanged,
+ this, &QNetworkSettingsManagerPrivate::serviceReady);
service->deleteLater();
+ }
m_unnamedServicesForSsidConnection.remove(path); // do not delete here
}