diff options
author | Beniamino Galvani <bgalvani@redhat.com> | 2018-05-28 15:31:11 +0200 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2018-07-11 16:16:22 +0200 |
commit | a2846bd735ee6c1e7af73e1ef7dd32749b46a184 (patch) | |
tree | d44bc6dd3752a23e5e822b3b843032b1e746f66f | |
parent | 347e0d8b5a0f172c80fc230b930117001956459e (diff) | |
download | NetworkManager-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.c | 26 | ||||
-rw-r--r-- | libnm-core/nm-setting-tc-config.c | 12 | ||||
-rw-r--r-- | libnm-core/nm-setting-team-port.c | 6 | ||||
-rw-r--r-- | libnm-core/nm-setting-team.c | 6 |
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 * |