diff options
author | Dan Winship <danw@gnome.org> | 2014-10-07 12:51:37 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2014-10-07 12:51:37 -0400 |
commit | a4ca0ad8a4c51f8d7e6228ba1f7424b94d936109 (patch) | |
tree | 9288be0b38e333dacf2329c7c52d34d0828d7dad | |
parent | 562fde5c17778f4911decb818a85e281b2d0909d (diff) | |
download | NetworkManager-danw/tui-slaves.tar.gz |
fixup! tui: show orphaned slaves in the connection editor listdanw/tui-slaves
-rw-r--r-- | clients/tui/nmtui-edit.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/clients/tui/nmtui-edit.c b/clients/tui/nmtui-edit.c index 123c007a73..c0354784fe 100644 --- a/clients/tui/nmtui-edit.c +++ b/clients/tui/nmtui-edit.c @@ -71,6 +71,9 @@ edit_connection_list_filter (NmtEditConnectionList *list, { NMSettingConnection *s_con; const char *master, *slave_type; + const char *uuid, *ifname; + GSList *conns, *iter; + gboolean found_master = FALSE; s_con = nm_connection_get_setting_connection (connection); g_return_val_if_fail (s_con != NULL, FALSE); @@ -84,7 +87,18 @@ edit_connection_list_filter (NmtEditConnectionList *list, && g_strcmp0 (slave_type, NM_SETTING_BRIDGE_SETTING_NAME) != 0) return TRUE; - return nm_remote_settings_get_connection_by_uuid (nm_settings, master) == NULL; + conns = nm_remote_settings_list_connections (nm_settings); + for (iter = conns; iter; iter = iter->next) { + uuid = nm_connection_get_uuid (iter->data); + ifname = nm_connection_get_interface_name (iter->data); + if (!g_strcmp0 (master, uuid) || !g_strcmp0 (master, ifname)) { + found_master = TRUE; + break; + } + } + g_slist_free (conns); + + return !found_master; } static NmtNewtForm * |