aboutsummaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2011-12-29 22:49:49 +0000
committerGuy Harris <guy@alum.mit.edu>2011-12-29 22:49:49 +0000
commit3864d5d19d5757ce74d5d282e36382a7fde1301f (patch)
treed2318cee0e6add2146cf4ae1e06723c92fe291ed /gtk
parent21f5ea24e4334afc1fc814bb9a510980921dd1b1 (diff)
Add an additional DONT_HAVE_PCAP return value from get_interface_list()
and capture_interface_list(). Return it if, on Windows, we ask for the interface list but don't have WinPcap installed. Handle it like CANT_GET_INTERFACE_LIST. svn path=/trunk/; revision=40334
Diffstat (limited to 'gtk')
-rw-r--r--gtk/capture_dlg.c9
-rw-r--r--gtk/capture_if_dlg.c1
-rw-r--r--gtk/main.c1
-rw-r--r--gtk/main_welcome.c3
4 files changed, 10 insertions, 4 deletions
diff --git a/gtk/capture_dlg.c b/gtk/capture_dlg.c
index 96fa94d609..27b1db24e5 100644
--- a/gtk/capture_dlg.c
+++ b/gtk/capture_dlg.c
@@ -1068,7 +1068,8 @@ update_interface_list(void)
g_object_set_data(G_OBJECT(cap_open_w), E_CAP_IF_LIST_KEY, NULL);
}
- if (if_list == NULL && err == CANT_GET_INTERFACE_LIST) {
+ if (if_list == NULL &&
+ (err == CANT_GET_INTERFACE_LIST || err == DONT_HAVE_PCAP)) {
gpointer dialog = simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_str);
g_free(err_str);
@@ -2765,7 +2766,8 @@ capture_prep_cb(GtkWidget *w _U_, gpointer d _U_)
if_list = capture_interface_list(&err, &err_str);
- if (if_list == NULL && err == CANT_GET_INTERFACE_LIST) {
+ if (if_list == NULL &&
+ (err == CANT_GET_INTERFACE_LIST || err == DONT_HAVE_PCAP)) {
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_str);
g_free(err_str);
}
@@ -3727,7 +3729,8 @@ make_and_fill_rows(void)
/* Scan through the list and build a list of strings to display. */
if_list = capture_interface_list(&err, &err_str);
if_list = g_list_sort (if_list, if_list_comparator_alph);
- if (if_list == NULL && err == CANT_GET_INTERFACE_LIST) {
+ if (if_list == NULL &&
+ (err == CANT_GET_INTERFACE_LIST || err == DONT_HAVE_PCAP)) {
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_str);
g_free(err_str);
return;
diff --git a/gtk/capture_if_dlg.c b/gtk/capture_if_dlg.c
index 08c1329110..48169ac5d8 100644
--- a/gtk/capture_if_dlg.c
+++ b/gtk/capture_if_dlg.c
@@ -763,6 +763,7 @@ capture_if_cb(GtkWidget *w _U_, gpointer d _U_)
switch (err) {
case CANT_GET_INTERFACE_LIST:
+ case DONT_HAVE_PCAP:
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_str);
g_free(err_str);
break;
diff --git a/gtk/main.c b/gtk/main.c
index de8c562a86..9a7e970773 100644
--- a/gtk/main.c
+++ b/gtk/main.c
@@ -2207,6 +2207,7 @@ main(int argc, char *argv[])
if (if_list == NULL) {
switch (err) {
case CANT_GET_INTERFACE_LIST:
+ case DONT_HAVE_PCAP:
cmdarg_err("%s", err_str);
g_free(err_str);
break;
diff --git a/gtk/main_welcome.c b/gtk/main_welcome.c
index 40d27a1f0b..cd3fd97a3a 100644
--- a/gtk/main_welcome.c
+++ b/gtk/main_welcome.c
@@ -971,7 +971,8 @@ welcome_if_tree_load(void)
interfaces = g_array_new(TRUE, TRUE, sizeof(displayed_interface));
if_list = capture_interface_list(&err, &err_str);
if_list = g_list_sort (if_list, if_list_comparator_alph);
- if (if_list == NULL && err == CANT_GET_INTERFACE_LIST) {
+ if (if_list == NULL &&
+ (err == CANT_GET_INTERFACE_LIST || err == DONT_HAVE_PCAP)) {
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "%s", err_str);
g_free(err_str);
return;