diff options
author | Michael Tüxen <tuexen@fh-muenster.de> | 2011-08-16 09:35:14 +0000 |
---|---|---|
committer | Michael Tüxen <tuexen@fh-muenster.de> | 2011-08-16 09:35:14 +0000 |
commit | 31fae9a126b10d46cf1813b9650894d31644df5a (patch) | |
tree | 231642985cee82ded5bbf7f35c4458ccdba81cb6 /gtk | |
parent | c25dd4b1ceb6e65acab42c754fa0efaa748c1df5 (diff) |
Handle the case in the capture options dialog box
where no interfaces are available.
svn path=/trunk/; revision=38554
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/capture_dlg.c | 31 | ||||
-rw-r--r-- | gtk/main_welcome.c | 6 |
2 files changed, 20 insertions, 17 deletions
diff --git a/gtk/capture_dlg.c b/gtk/capture_dlg.c index def3a9c25a..bc01ea43f6 100644 --- a/gtk/capture_dlg.c +++ b/gtk/capture_dlg.c @@ -2321,17 +2321,18 @@ static void capture_all_cb(GtkToggleButton *button, gpointer d _U_) enabled = TRUE; if_cb = (GtkTreeView *) g_object_get_data(G_OBJECT(cap_open_w), E_CAP_IFACE_KEY); model = gtk_tree_view_get_model(if_cb); - gtk_tree_model_get_iter_from_string(model, &iter, "0"); pcap_ng_cb = (GtkWidget *) g_object_get_data(G_OBJECT(cap_open_w), E_CAP_PCAP_NG_KEY); - do { - gtk_tree_model_get (model, &iter, CAPTURE, &capture_set, -1); - if (!capture_set && enabled) { - num_selected++; - } else if (capture_set && !enabled) { - num_selected--; - } - gtk_list_store_set(GTK_LIST_STORE(model), &iter, CAPTURE, enabled, -1); - } while (gtk_tree_model_iter_next(model, &iter)); + if (gtk_tree_model_get_iter_first(model, &iter)) { + do { + gtk_tree_model_get (model, &iter, CAPTURE, &capture_set, -1); + if (!capture_set && enabled) { + num_selected++; + } else if (capture_set && !enabled) { + num_selected--; + } + gtk_list_store_set(GTK_LIST_STORE(model), &iter, CAPTURE, enabled, -1); + } while (gtk_tree_model_iter_next(model, &iter)); + } if (num_selected >= 2) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pcap_ng_cb), TRUE); gtk_widget_set_sensitive(pcap_ng_cb, FALSE); @@ -2371,11 +2372,11 @@ static void promisc_mode_callback(GtkToggleButton *button, gpointer d _U_) if_cb = (GtkTreeView *) g_object_get_data(G_OBJECT(cap_open_w), E_CAP_IFACE_KEY); model = gtk_tree_view_get_model(if_cb); - gtk_tree_model_get_iter_from_string(model, &iter, "0"); - - do { - gtk_list_store_set(GTK_LIST_STORE(model), &iter, PMODE, enabled?"yes":"no", -1); - } while (gtk_tree_model_iter_next(model, &iter)); + if (gtk_tree_model_get_iter_first(model, &iter)) { + do { + gtk_list_store_set(GTK_LIST_STORE(model), &iter, PMODE, enabled?"yes":"no", -1); + } while (gtk_tree_model_iter_next(model, &iter)); + } for (i = 0; i < rows->len; i++) { row = g_array_index(rows, interface_row, i); diff --git a/gtk/main_welcome.c b/gtk/main_welcome.c index db77ff3320..470f8a8fe6 100644 --- a/gtk/main_welcome.c +++ b/gtk/main_welcome.c @@ -854,8 +854,10 @@ void change_selection_for_all(gboolean enable) { guint i; - for (i = 0; i < interfaces->len; i++) { - change_interface_selection(g_array_index(interfaces, displayed_interface, i).name, enable); + if (interfaces) { + for (i = 0; i < interfaces->len; i++) { + change_interface_selection(g_array_index(interfaces, displayed_interface, i).name, enable); + } } } #endif |