summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2018-05-28 15:31:11 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2018-07-11 16:16:22 +0200
commita2846bd735ee6c1e7af73e1ef7dd32749b46a184 (patch)
treed44bc6dd3752a23e5e822b3b843032b1e746f66f
parent347e0d8b5a0f172c80fc230b930117001956459e (diff)
downloadNetworkManager-a2846bd735ee6c1e7af73e1ef7dd32749b46a184.tar.gz
libnm-core: don't emit signal when clearing lists already empty
If the property is a list and it is already empty, we should not emit a signal when it gets cleared.
-rw-r--r--libnm-core/nm-setting-ip-config.c26
-rw-r--r--libnm-core/nm-setting-tc-config.c12
-rw-r--r--libnm-core/nm-setting-team-port.c6
-rw-r--r--libnm-core/nm-setting-team.c6
4 files changed, 34 insertions, 16 deletions
diff --git a/libnm-core/nm-setting-ip-config.c b/libnm-core/nm-setting-ip-config.c
index 8e2df0c321..fa5aa60f1a 100644
--- a/libnm-core/nm-setting-ip-config.c
+++ b/libnm-core/nm-setting-ip-config.c
@@ -1589,8 +1589,11 @@ nm_setting_ip_config_clear_dns (NMSettingIPConfig *setting)
g_return_if_fail (NM_IS_SETTING_IP_CONFIG (setting));
priv = NM_SETTING_IP_CONFIG_GET_PRIVATE (setting);
- g_ptr_array_set_size (priv->dns, 0);
- g_object_notify (G_OBJECT (setting), NM_SETTING_IP_CONFIG_DNS);
+
+ if (priv->dns->len != 0) {
+ g_ptr_array_set_size (priv->dns, 0);
+ g_object_notify (G_OBJECT (setting), NM_SETTING_IP_CONFIG_DNS);
+ }
}
/**
@@ -1727,8 +1730,11 @@ nm_setting_ip_config_clear_dns_searches (NMSettingIPConfig *setting)
g_return_if_fail (NM_IS_SETTING_IP_CONFIG (setting));
priv = NM_SETTING_IP_CONFIG_GET_PRIVATE (setting);
- g_ptr_array_set_size (priv->dns_search, 0);
- g_object_notify (G_OBJECT (setting), NM_SETTING_IP_CONFIG_DNS_SEARCH);
+
+ if (priv->dns_search->len != 0) {
+ g_ptr_array_set_size (priv->dns_search, 0);
+ g_object_notify (G_OBJECT (setting), NM_SETTING_IP_CONFIG_DNS_SEARCH);
+ }
}
/**
@@ -2107,8 +2113,10 @@ nm_setting_ip_config_clear_addresses (NMSettingIPConfig *setting)
g_return_if_fail (NM_IS_SETTING_IP_CONFIG (setting));
- g_ptr_array_set_size (priv->addresses, 0);
- g_object_notify (G_OBJECT (setting), NM_SETTING_IP_CONFIG_ADDRESSES);
+ if (priv->addresses->len != 0) {
+ g_ptr_array_set_size (priv->addresses, 0);
+ g_object_notify (G_OBJECT (setting), NM_SETTING_IP_CONFIG_ADDRESSES);
+ }
}
/**
@@ -2264,8 +2272,10 @@ nm_setting_ip_config_clear_routes (NMSettingIPConfig *setting)
g_return_if_fail (NM_IS_SETTING_IP_CONFIG (setting));
- g_ptr_array_set_size (priv->routes, 0);
- g_object_notify (G_OBJECT (setting), NM_SETTING_IP_CONFIG_ROUTES);
+ if (priv->routes->len != 0) {
+ g_ptr_array_set_size (priv->routes, 0);
+ g_object_notify (G_OBJECT (setting), NM_SETTING_IP_CONFIG_ROUTES);
+ }
}
/**
diff --git a/libnm-core/nm-setting-tc-config.c b/libnm-core/nm-setting-tc-config.c
index 04e2f2d510..b05bb38ebb 100644
--- a/libnm-core/nm-setting-tc-config.c
+++ b/libnm-core/nm-setting-tc-config.c
@@ -982,8 +982,10 @@ nm_setting_tc_config_clear_qdiscs (NMSettingTCConfig *self)
{
g_return_if_fail (NM_IS_SETTING_TC_CONFIG (self));
- g_ptr_array_set_size (self->qdiscs, 0);
- g_object_notify (G_OBJECT (self), NM_SETTING_TC_CONFIG_QDISCS);
+ if (self->qdiscs->len != 0) {
+ g_ptr_array_set_size (self->qdiscs, 0);
+ g_object_notify (G_OBJECT (self), NM_SETTING_TC_CONFIG_QDISCS);
+ }
}
/*****************************************************************************/
@@ -1116,8 +1118,10 @@ nm_setting_tc_config_clear_tfilters (NMSettingTCConfig *self)
{
g_return_if_fail (NM_IS_SETTING_TC_CONFIG (self));
- g_ptr_array_set_size (self->tfilters, 0);
- g_object_notify (G_OBJECT (self), NM_SETTING_TC_CONFIG_TFILTERS);
+ if (self->tfilters->len != 0) {
+ g_ptr_array_set_size (self->tfilters, 0);
+ g_object_notify (G_OBJECT (self), NM_SETTING_TC_CONFIG_TFILTERS);
+ }
}
/*****************************************************************************/
diff --git a/libnm-core/nm-setting-team-port.c b/libnm-core/nm-setting-team-port.c
index e0e5dacaa7..d6412224e2 100644
--- a/libnm-core/nm-setting-team-port.c
+++ b/libnm-core/nm-setting-team-port.c
@@ -322,8 +322,10 @@ nm_setting_team_port_clear_link_watchers (NMSettingTeamPort *setting)
g_return_if_fail (NM_IS_SETTING_TEAM_PORT (setting));
- g_ptr_array_set_size (priv->link_watchers, 0);
- g_object_notify (G_OBJECT (setting), NM_SETTING_TEAM_PORT_LINK_WATCHERS);
+ if (priv->link_watchers->len != 0) {
+ g_ptr_array_set_size (priv->link_watchers, 0);
+ g_object_notify (G_OBJECT (setting), NM_SETTING_TEAM_PORT_LINK_WATCHERS);
+ }
}
static GVariant *
diff --git a/libnm-core/nm-setting-team.c b/libnm-core/nm-setting-team.c
index b413adaec2..1718b3e55f 100644
--- a/libnm-core/nm-setting-team.c
+++ b/libnm-core/nm-setting-team.c
@@ -1120,8 +1120,10 @@ nm_setting_team_clear_link_watchers (NMSettingTeam *setting) {
g_return_if_fail (NM_IS_SETTING_TEAM (setting));
- g_ptr_array_set_size (priv->link_watchers, 0);
- g_object_notify (G_OBJECT (setting), NM_SETTING_TEAM_LINK_WATCHERS);
+ if (priv->link_watchers->len != 0) {
+ g_ptr_array_set_size (priv->link_watchers, 0);
+ g_object_notify (G_OBJECT (setting), NM_SETTING_TEAM_LINK_WATCHERS);
+ }
}
static GVariant *