device: fix handling of available connections
authorBeniamino Galvani <bgalvani@redhat.com>
Fri, 11 Mar 2016 14:36:35 +0000 (15:36 +0100)
committerBeniamino Galvani <bgalvani@redhat.com>
Tue, 15 Mar 2016 16:38:58 +0000 (17:38 +0100)
The prune list is for elements that must be deleted from the list of
available connections. So, when processing all the existing
connections an element must be deleted from the prune list iff it's
available.

Fixes: 8b2abe0e2c8f162544a2562fc18a7becbc55d233

https://bugzilla.redhat.com/show_bug.cgi?id=1316488

src/devices/nm-device.c

index 51a84bf..f4e2ce1 100644 (file)
@@ -9664,14 +9664,13 @@ nm_device_recheck_available_connections (NMDevice *self)
                        connection = NM_CONNECTION (iter->data);
 
                        if (nm_device_check_connection_available (self,
-                                                                 connection,
-                                                                 NM_DEVICE_CHECK_CON_AVAILABLE_NONE,
-                                                                 NULL)) {
+                                                                 connection,
+                                                                 NM_DEVICE_CHECK_CON_AVAILABLE_NONE,
+                                                                 NULL)) {
                                if (available_connections_add (self, connection))
                                        changed = TRUE;
-                       } else {
-                               if (prune_list && g_hash_table_remove (prune_list, connection))
-                                       changed = TRUE;
+                               if (prune_list)
+                                       g_hash_table_remove (prune_list, connection);
                        }
                }