diff --git a/panels/network/cc-network-panel.c b/panels/network/cc-network-panel.c index a6943a7b2..ce0967e2b 100644 --- a/panels/network/cc-network-panel.c +++ b/panels/network/cc-network-panel.c @@ -382,8 +382,8 @@ panel_add_device (CcNetworkPanel *panel, NMDevice *device) type = nm_device_get_device_type (device); - g_debug ("device %s type %i", - nm_device_get_udi (device), type); + g_debug ("device %s type %i path %s", + nm_device_get_udi (device), type, nm_object_get_path (NM_OBJECT (device))); /* map the NMDeviceType to the GType */ switch (type) { @@ -458,15 +458,15 @@ panel_add_device (CcNetworkPanel *panel, NMDevice *device) priv->arg_operation = OPERATION_NULL; /* done */ select_tree_iter (panel, &iter); return TRUE; - } else if (priv->arg_operation == OPERATION_CONNECT_8021X - || priv->arg_operation == OPERATION_SHOW_DEVICE) { + } else if (priv->arg_operation == OPERATION_CONNECT_8021X) { + cc_network_panel_connect_to_8021x_network (panel, priv->client, priv->remote_settings, device, priv->arg_access_point); + priv->arg_operation = OPERATION_NULL; /* done */ select_tree_iter (panel, &iter); - - /* 802.11 wireless stuff must be handled in add_access_point, but - we still select the right page here, whereas if we're just showing - the device, we're done right away */ - if (priv->arg_operation == OPERATION_SHOW_DEVICE) - priv->arg_operation = OPERATION_NULL; + return TRUE; + } + else if (priv->arg_operation == OPERATION_SHOW_DEVICE) { + select_tree_iter (panel, &iter); + priv->arg_operation = OPERATION_NULL; return TRUE; } } diff --git a/panels/network/net-device-wifi.c b/panels/network/net-device-wifi.c index 991e8831d..99a334e21 100644 --- a/panels/network/net-device-wifi.c +++ b/panels/network/net-device-wifi.c @@ -173,17 +173,6 @@ add_access_point (NetDeviceWifi *device_wifi, NMAccessPoint *ap, NMAccessPoint * COLUMN_AP_IS_SAVED, FALSE, -1); g_free (title); - -// if (priv->arg_operation == OPERATION_CONNECT_8021X && -// g_strcmp0(priv->arg_device, nm_object_get_path (NM_OBJECT (device))) == 0 && -// g_strcmp0(priv->arg_access_point, object_path) == 0) { -// cc_network_panel_connect_to_8021x_network (panel, -// priv->client, -// priv->remote_settings, -// device, -// ap); -// priv->arg_operation = OPERATION_NULL; /* done */ -// } } static void diff --git a/panels/network/network-dialogs.c b/panels/network/network-dialogs.c index bdbd0f099..e5295dc25 100644 --- a/panels/network/network-dialogs.c +++ b/panels/network/network-dialogs.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "network-dialogs.h" #include "nm-wireless-dialog.h" @@ -249,6 +250,7 @@ cc_network_panel_connect_to_hidden_network (CcNetworkPanel *panel, NMClient *client, NMRemoteSettings *settings) { + g_debug ("connect to hidden wifi"); show_wireless_dialog (panel, client, settings, nma_wireless_dialog_new_for_other (client, settings)); } @@ -258,7 +260,7 @@ cc_network_panel_connect_to_8021x_network (CcNetworkPanel *panel, NMClient *client, NMRemoteSettings *settings, NMDevice *device, - NMAccessPoint *ap) + const gchar *arg_access_point) { NMConnection *connection; NMSettingConnection *s_con; @@ -268,6 +270,14 @@ cc_network_panel_connect_to_8021x_network (CcNetworkPanel *panel, NM80211ApSecurityFlags wpa_flags, rsn_flags; GtkWidget *dialog; char *uuid; + NMAccessPoint *ap; + + g_debug ("connect to 8021x wifi"); + ap = nm_device_wifi_get_access_point_by_path (NM_DEVICE_WIFI (device), arg_access_point); + if (ap == NULL) { + g_warning ("didn't find access point with path %s", arg_access_point); + return; + } /* If the AP is WPA[2]-Enterprise then we need to set up a minimal 802.1x * setting and ask the user for more information. @@ -470,6 +480,7 @@ cc_network_panel_connect_to_3g_network (CcNetworkPanel *panel, NMAMobileWizard *wizard; NMDeviceModemCapabilities caps; + g_debug ("connect to 3g"); if (!NM_IS_DEVICE_MODEM (device)) { g_warning ("Network panel loaded with connect-3g but the selected device" " is not a modem"); diff --git a/panels/network/network-dialogs.h b/panels/network/network-dialogs.h index cd9c6a7fe..fdd19ef32 100644 --- a/panels/network/network-dialogs.h +++ b/panels/network/network-dialogs.h @@ -35,7 +35,7 @@ void cc_network_panel_connect_to_8021x_network (CcNetworkPanel *panel, NMClient *client, NMRemoteSettings *settings, NMDevice *device, - NMAccessPoint *ap); + const gchar *arg_access_point); void cc_network_panel_connect_to_3g_network (CcNetworkPanel *panel, NMClient *client,