summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2014-10-07 12:51:37 -0400
committerDan Winship <danw@gnome.org>2014-10-07 12:51:37 -0400
commita4ca0ad8a4c51f8d7e6228ba1f7424b94d936109 (patch)
tree9288be0b38e333dacf2329c7c52d34d0828d7dad
parent562fde5c17778f4911decb818a85e281b2d0909d (diff)
downloadNetworkManager-danw/tui-slaves.tar.gz
fixup! tui: show orphaned slaves in the connection editor listdanw/tui-slaves
-rw-r--r--clients/tui/nmtui-edit.c16
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 *