about summary refs log tree commit diff
path: root/src/core/dns
diff options
context:
space:
mode:
authorJeremy Bicha <jeremy.bicha@canonical.com>2022-11-28 16:28:37 -0500
committerJeremy Bicha <jeremy.bicha@canonical.com>2022-11-28 16:28:52 -0500
commit23b72b08c0e0079ce1c6e6daa5b2a95602290cf3 (patch)
tree423b7ab020011c905b18e4706558537d01758b8e /src/core/dns
parent54a11b421d2f5e43f9c88eb38a0a5992e9636290 (diff)
parentdbc388c3d1132f291cf4d62455d77e71d0918dcc (diff)
Merge tag 'debian/1.40.4-1' into ubuntu/master
network-manager Debian release 1.40.4-1
Diffstat (limited to 'src/core/dns')
-rw-r--r--src/core/dns/nm-dns-manager.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/dns/nm-dns-manager.c b/src/core/dns/nm-dns-manager.c
index 1e54452a..a2fead3f 100644
--- a/src/core/dns/nm-dns-manager.c
+++ b/src/core/dns/nm-dns-manager.c
@@ -2039,8 +2039,15 @@ nm_dns_manager_set_ip_config(NMDnsManager         *self,
 
     if (!ip_data) {
         ip_data = _dns_config_ip_data_new(data, addr_family, source_tag, l3cd, ip_config_type);
-        if (!any_removed)
+        priv->ip_data_lst_need_sort = TRUE;
+        if (!any_removed) {
+            /* `any_removed` tracks whether we deleted any ip_data. If that happened,
+             * we already compared the old and new l3cds and set `changed` accordingly.
+             * Here we only need to set `changed` if we are adding a new ip_data without
+             * removing the old one.
+             */
             changed = TRUE;
+        }
     } else {
         ip_data->ip_config_type = ip_config_type;
         changed                 = TRUE;