diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2012-06-25 21:05:36 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2012-06-25 21:05:36 +0000 |
commit | a8d145cfd9f4190cbba078346b19038e95f4cf77 (patch) | |
tree | d823be6cefb91a9442becfdb371cb34cef82ed14 | |
parent | b06a6874bfb4df0dc28245f84ce1a1caf0deb5ce (diff) |
From Michael Mann:
generic preferences implementation
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7402
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@43484 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r-- | dftest.c | 4 | ||||
-rw-r--r-- | epan/prefs-int.h | 1 | ||||
-rw-r--r-- | epan/prefs.c | 119 | ||||
-rw-r--r-- | rawshark.c | 4 | ||||
-rw-r--r-- | tshark.c | 4 | ||||
-rw-r--r-- | ui/gtk/CMakeLists.txt | 2 | ||||
-rw-r--r-- | ui/gtk/Makefile.common | 4 | ||||
-rw-r--r-- | ui/gtk/main.c | 4 | ||||
-rw-r--r-- | ui/gtk/prefs_dlg.c | 155 | ||||
-rw-r--r-- | ui/gtk/prefs_taps.c | 2 | ||||
-rw-r--r-- | ui/qt/main.cpp | 4 |
11 files changed, 165 insertions, 138 deletions
@@ -86,10 +86,6 @@ main(int argc, char **argv) failure_message, open_failure_message, read_failure_message, write_failure_message); - /* now register the preferences for any non-dissector modules. - we must do that before we read the preferences as well. */ - prefs_register_modules(); - /* set the c-language locale to the native environment. */ setlocale(LC_ALL, ""); diff --git a/epan/prefs-int.h b/epan/prefs-int.h index c7f8d4fc9f..38f4a2779e 100644 --- a/epan/prefs-int.h +++ b/epan/prefs-int.h @@ -38,6 +38,7 @@ struct pref_module { const char *description; /**< Description of module (displayed in preferences notebook) */ void (*apply_cb)(void); /**< routine to call when preferences applied */ GList *prefs; /**< list of its preferences */ + struct pref_module *parent; /**< parent module */ emem_tree_t *submodules; /**< list of its submodules */ int numprefs; /**< number of non-obsolete preferences */ gboolean prefs_changed; /**< if TRUE, a preference has changed since we last checked */ diff --git a/epan/prefs.c b/epan/prefs.c index 6b3dffae55..ee3125738f 100644 --- a/epan/prefs.c +++ b/epan/prefs.c @@ -237,6 +237,7 @@ prefs_register_module_or_subtree(module_t *parent, const char *name, module->description = description; module->apply_cb = apply_cb; module->prefs = NULL; /* no preferences, to start */ + module->parent = parent; module->submodules = NULL; /* no submodules, to start */ module->numprefs = 0; module->prefs_changed = FALSE; @@ -326,9 +327,10 @@ prefs_register_protocol(int id, void (*apply_cb)(void)) */ if (protocols_module == NULL) { /* - * No. Do so. + * No. Register Protocols subtree as well as any preferences + * for non-dissector modules. */ - protocols_module = prefs_register_subtree(NULL, "Protocols", NULL); + prefs_register_modules(); } protocol = find_protocol_by_id(id); return prefs_register_module(protocols_module, @@ -351,9 +353,10 @@ prefs_register_protocol_subtree(const char *subtree, int id, void (*apply_cb)(vo */ if (protocols_module == NULL) { /* - * No. Do so. + * No. Register Protocols subtree as well as any preferences + * for non-dissector modules. */ - protocols_module = prefs_register_subtree(NULL, "Protocols", NULL); + prefs_register_modules(); } subtree_module = protocols_module; @@ -401,9 +404,10 @@ prefs_register_protocol_obsolete(int id) */ if (protocols_module == NULL) { /* - * No. Do so. + * No. Register Protocols subtree as well as any preferences + * for non-dissector modules. */ - protocols_module = prefs_register_subtree(NULL, "Protocols", NULL); + prefs_register_modules(); } protocol = find_protocol_by_id(id); module = prefs_register_module(protocols_module, @@ -927,12 +931,58 @@ prefs_pref_foreach(module_t *module, pref_cb callback, gpointer user_data) return 0; } +static void stats_callback(void) +{ + /* Test for a sane tap update interval */ + if (prefs.tap_update_interval < 100 || prefs.tap_update_interval > 10000) { + prefs.tap_update_interval = TAP_UPDATE_DEFAULT_INTERVAL; + } + +#ifdef HAVE_LIBPORTAUDIO + /* Test for a sane max channels entry */ + if (prefs.rtp_player_max_visible < 1 || prefs.rtp_player_max_visible > 10) + prefs.rtp_player_max_visible = RTP_PLAYER_DEFAULT_VISIBLE; +#endif + +} + /* * Register all non-dissector modules' preferences. */ void prefs_register_modules(void) { + module_t* stats; + + if (protocols_module != NULL) { + /* Already setup preferences */ + return; + } + + stats = prefs_register_module(NULL, "statistics", "Statistics", + "Statistics", &stats_callback); + + prefs_register_uint_preference(stats, "update_interval", + "Tap update interval in ms", + "Determines time between tap updates", + 10, + &prefs.tap_update_interval); + +#ifdef HAVE_LIBPORTAUDIO + prefs_register_uint_preference(stats, "rtp_player_max_visible", + "Max visible channels in RTP Player", + "Determines maximum height of RTP Player window", + 10, + &prefs.rtp_player_max_visible); +#endif + + protocols_module = prefs_register_module(NULL, "protocols", "Protocols", + "Protocols", NULL); + + prefs_register_bool_preference(protocols_module, "display_hidden_proto_items", + "Display hidden protocol items", + "Display all hidden protocol items in the packet list.", + &prefs.display_hidden_proto_items); } /* Parse through a list of comma-separated, possibly quoted strings. @@ -2126,12 +2176,6 @@ prefs_capture_device_monitor_mode(const char *name) #define GREEN_COMPONENT(x) (guint16) (((((x) >> 8) & 0xff) * 65535 / 255)) #define BLUE_COMPONENT(x) (guint16) ( (((x) & 0xff) * 65535 / 255)) -/* values for the rtp player preferences dialog box */ -#define PRS_TAP_UPDATE_INTERVAL "taps.update_interval" -#define PRS_RTP_PLAYER_MAX_VISIBLE "taps.rtp_player_max_visible" - -#define PRS_DISPLAY_HIDDEN_PROTO_ITEMS "packet_list.display_hidden_proto_items" - static const gchar *pr_formats[] = { "text", "postscript" }; static const gchar *pr_dests[] = { "command", "file" }; @@ -2661,14 +2705,6 @@ set_pref(gchar *pref_name, gchar *value, void *private_data _U_, prefs.load_smi_modules = ((g_ascii_strcasecmp(value, "true") == 0)?TRUE:FALSE); } else if (strcmp(pref_name, PRS_NAME_RESOLVE_SUPPRESS_SMI_ERRORS) == 0) { prefs.suppress_smi_errors = ((g_ascii_strcasecmp(value, "true") == 0)?TRUE:FALSE); - } else if ((strcmp(pref_name, PRS_RTP_PLAYER_MAX_VISIBLE) == 0) || - (strcmp(pref_name, "rtp_player.max_visible") == 0)) { - /* ... also accepting old name for this preference */ - prefs.rtp_player_max_visible = strtol(value, NULL, 10); - } else if (strcmp(pref_name, PRS_TAP_UPDATE_INTERVAL) == 0) { - prefs.tap_update_interval = strtol(value, NULL, 10); - } else if (strcmp(pref_name, PRS_DISPLAY_HIDDEN_PROTO_ITEMS) == 0) { - prefs.display_hidden_proto_items = ((g_ascii_strcasecmp(value, "true") == 0)?TRUE:FALSE); } else { /* To which module does this preference belong? */ module = NULL; @@ -3757,21 +3793,12 @@ write_prefs(char **pf_path_return) fprintf(pf, PRS_NAME_RESOLVE_SUPPRESS_SMI_ERRORS ": %s\n", prefs.suppress_smi_errors == TRUE ? "TRUE" : "FALSE"); - fprintf(pf, "\n####### Taps/Statistics ########\n"); - - fprintf(pf, "\n# Tap update interval in ms.\n"); - fprintf(pf, "# An integer value greater between 100 and 10000.\n"); - if (prefs.tap_update_interval == default_prefs.tap_update_interval) - fprintf(pf, "#"); - fprintf(pf, PRS_TAP_UPDATE_INTERVAL ": %d\n", - prefs.tap_update_interval); - - fprintf(pf, "\n# Maximum visible channels in RTP Player window.\n"); - fprintf(pf, "# An integer value greater than 0.\n"); - if (prefs.rtp_player_max_visible == default_prefs.rtp_player_max_visible) - fprintf(pf, "#"); - fprintf(pf, PRS_RTP_PLAYER_MAX_VISIBLE ": %d\n", - prefs.rtp_player_max_visible); + /* + * XXX - The following members are intentionally not written here because + * they are handled within the 'generic' preference handling: + * tap_update_interval + * rtp_player_max_visible + */ fprintf(pf, "\n####### Filter Expressions ########\n"); { @@ -3791,12 +3818,11 @@ write_prefs(char **pf_path_return) fprintf(pf, "\n####### Protocols ########\n"); - fprintf(pf, "\n# Display hidden items in packet details pane?\n"); - fprintf(pf, "# TRUE or FALSE (case-insensitive).\n"); - if (prefs.display_hidden_proto_items == default_prefs.display_hidden_proto_items) - fprintf(pf, "#"); - fprintf(pf, PRS_DISPLAY_HIDDEN_PROTO_ITEMS ": %s\n", - prefs.display_hidden_proto_items == TRUE ? "TRUE" : "FALSE"); + /* + * XXX - The following members are intentionally not written here because + * they are handled within the 'generic' preference handling: + * display_hidden_proto_items + */ pe_tree_foreach(prefs_modules, write_module_prefs, pf); @@ -3893,10 +3919,13 @@ copy_prefs(e_prefs *dest, e_prefs *src) dest->capture_show_info = src->capture_show_info; dest->name_resolve = src->name_resolve; dest->name_resolve_concurrency = src->name_resolve_concurrency; - dest->tap_update_interval = src->tap_update_interval; - dest->rtp_player_max_visible = src->rtp_player_max_visible; - dest->display_hidden_proto_items = src->display_hidden_proto_items; - + /* + * XXX - The following members are intentionally not copied because they + * are handled within the 'generic' preference handling: + * tap_update_interval + * rtp_player_max_visible + * display_hidden_proto_items + */ } /* Free a set of preferences. */ diff --git a/rawshark.c b/rawshark.c index 719eba1870..8dddc9315e 100644 --- a/rawshark.c +++ b/rawshark.c @@ -514,10 +514,6 @@ main(int argc, char *argv[]) failure_message, open_failure_message, read_failure_message, write_failure_message); - /* Now register the preferences for any non-dissector modules. - We must do that before we read the preferences as well. */ - prefs_register_modules(); - /* Set the C-language locale to the native environment. */ setlocale(LC_ALL, ""); @@ -967,10 +967,6 @@ main(int argc, char *argv[]) #endif register_all_tap_listeners(); - /* Now register the preferences for any non-dissector modules. - We must do that before we read the preferences as well. */ - prefs_register_modules(); - /* If invoked with the "-G" flag, we dump out information based on the argument to the "-G" flag; if no argument is specified, for backwards compatibility we dump out a glossary of display diff --git a/ui/gtk/CMakeLists.txt b/ui/gtk/CMakeLists.txt index a556099b75..ed8edc7b7b 100644 --- a/ui/gtk/CMakeLists.txt +++ b/ui/gtk/CMakeLists.txt @@ -96,8 +96,6 @@ set(WIRESHARK_GTK_SRC prefs_layout.c prefs_nameres.c prefs_print.c - prefs_protocols.c - prefs_taps.c prefs_stream.c print_dlg.c profile_dlg.c diff --git a/ui/gtk/Makefile.common b/ui/gtk/Makefile.common index 72a7b5ce32..3e54f3caef 100644 --- a/ui/gtk/Makefile.common +++ b/ui/gtk/Makefile.common @@ -121,8 +121,6 @@ WIRESHARK_GTK_SRC = \ prefs_layout.c \ prefs_nameres.c \ prefs_print.c \ - prefs_protocols.c \ - prefs_taps.c \ prefs_stream.c \ print_dlg.c \ profile_dlg.c \ @@ -324,8 +322,6 @@ noinst_HEADERS = \ prefs_layout.h \ prefs_nameres.h \ prefs_print.h \ - prefs_protocols.h \ - prefs_taps.h \ prefs_stream.h \ profile_dlg.h \ proto_dlg.h \ diff --git a/ui/gtk/main.c b/ui/gtk/main.c index 39f2fa623d..ca61a76872 100644 --- a/ui/gtk/main.c +++ b/ui/gtk/main.c @@ -2574,10 +2574,6 @@ main(int argc, char *argv[]) splash_update(RA_PREFERENCES, NULL, (gpointer)splash_win); - /* Now register the preferences for any non-dissector modules. - We must do that before we read the preferences as well. */ - prefs_register_modules(); - prefs_p = read_configuration_files (&gdp_path, &dp_path); /* Removed thread code: * http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=35027 diff --git a/ui/gtk/prefs_dlg.c b/ui/gtk/prefs_dlg.c index 8f3babe9e3..6d2844bdf4 100644 --- a/ui/gtk/prefs_dlg.c +++ b/ui/gtk/prefs_dlg.c @@ -50,8 +50,6 @@ #include "ui/gtk/prefs_layout.h" #include "ui/gtk/prefs_capture.h" #include "ui/gtk/prefs_nameres.h" -#include "ui/gtk/prefs_taps.h" -#include "ui/gtk/prefs_protocols.h" #include "ui/gtk/gui_utils.h" #include "ui/gtk/dlg_utils.h" #include "ui/gtk/stock_icons.h" @@ -99,8 +97,6 @@ static GtkWidget *create_preference_filename_entry(GtkWidget *, int, #define E_CAPTURE_PAGE_KEY "capture_options_page" #define E_PRINT_PAGE_KEY "printer_options_page" #define E_NAMERES_PAGE_KEY "nameres_options_page" -#define E_TAPS_PAGE_KEY "taps_options_page" -#define E_PROTOCOLS_PAGE_KEY "protocols_options_page" #define E_FILTER_EXPRESSIONS_PAGE_KEY "filter_expressions_page" /* @@ -124,7 +120,7 @@ struct ct_struct { GtkWidget *tree; GtkTreeIter iter; gint page; - gboolean is_protocol; + GtkTreeStore *store; }; static gint protocols_page = 0; @@ -268,7 +264,76 @@ pref_show(pref_t *pref, gpointer user_data) return 0; } +#define prefs_tree_iter GtkTreeIter + +/* add a page to the tree */ +static prefs_tree_iter +prefs_tree_page_add(const gchar *title, gint page_nr, + gpointer store, prefs_tree_iter *parent_iter) +{ + prefs_tree_iter iter; + + gtk_tree_store_append(store, &iter, parent_iter); + gtk_tree_store_set(store, &iter, 0, title, 1, page_nr, -1); + return iter; +} + +/* add a page to the notebook */ +static GtkWidget * +prefs_nb_page_add(GtkWidget *notebook, const gchar *title, GtkWidget *page, const char *page_key) +{ + GtkWidget *frame; + + frame = gtk_frame_new(title); + gtk_widget_show(frame); + if(page) { + gtk_container_add(GTK_CONTAINER(frame), page); + g_object_set_data(G_OBJECT(prefs_w), page_key, page); + } + gtk_notebook_append_page (GTK_NOTEBOOK(notebook), frame, NULL); + + return frame; +} + +/* create a basic window for preferences */ +GtkWidget* +simple_prefs_show(module_t *module, struct ct_struct *cts, gchar* label_str) +{ + GtkWidget *main_tb, *main_vb, *frame, *main_sw; + int pos = 0; + + /* Scrolled window */ + main_sw = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(main_sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + + /* Frame */ + frame = gtk_frame_new(module->description); + gtk_container_set_border_width(GTK_CONTAINER(frame), 5); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(main_sw), frame); + g_object_set_data(G_OBJECT(main_sw), E_PAGESW_FRAME_KEY, frame); + + /* Main vertical box */ + main_vb = ws_gtk_box_new(GTK_ORIENTATION_VERTICAL, 5, FALSE); + gtk_container_set_border_width(GTK_CONTAINER(main_vb), 5); + gtk_container_add(GTK_CONTAINER(frame), main_vb); + + /* Main table */ + main_tb = gtk_table_new(module->numprefs, 2, FALSE); + gtk_box_pack_start(GTK_BOX(main_vb), main_tb, FALSE, FALSE, 0); + gtk_table_set_row_spacings(GTK_TABLE(main_tb), 10); + gtk_table_set_col_spacings(GTK_TABLE(main_tb), 15); + + /* Add items for each of the preferences */ + prefs_pref_foreach(module, pref_show, main_tb); + + /* Show 'em what we got */ + gtk_widget_show_all(main_vb); + + return main_vb; +} + #define MAX_TREE_NODE_NAME_LEN 64 + /* show prefs page for each registered module (protocol) */ static guint module_prefs_show(module_t *module, gpointer user_data) @@ -304,8 +369,17 @@ module_prefs_show(module_t *module, gpointer user_data) */ g_strlcpy(label_str, module->title, MAX_TREE_NODE_NAME_LEN); model = GTK_TREE_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(cts->tree))); - if (prefs_module_has_submodules(module) && !cts->iter.stamp) - gtk_tree_store_append(model, &iter, NULL); + + if (module->parent == NULL) { + prefs_nb_page_add(cts->notebook, label_str, simple_prefs_show(module, cts, label_str), module->title); + gtk_tree_store_append(model, &iter, NULL); + /* Save the protocols page */ + if (strcmp(module->title, "Protocols") == 0) { + protocols_page = cts->page++; + } else { + cts->page++; + } + } else gtk_tree_store_append(model, &iter, &cts->iter); @@ -324,8 +398,6 @@ module_prefs_show(module_t *module, gpointer user_data) */ child_cts = *cts; child_cts.iter = iter; - if (module == protocols_module) - child_cts.is_protocol = TRUE; prefs_modules_foreach_submodules(module, module_prefs_show, &child_cts); /* keep the page count right */ @@ -386,38 +458,6 @@ module_prefs_show(module_t *module, gpointer user_data) } -#define prefs_tree_iter GtkTreeIter - -/* add a page to the tree */ -static prefs_tree_iter -prefs_tree_page_add(const gchar *title, gint page_nr, - gpointer store, prefs_tree_iter *parent_iter) -{ - prefs_tree_iter iter; - - gtk_tree_store_append(store, &iter, parent_iter); - gtk_tree_store_set(store, &iter, 0, title, 1, page_nr, -1); - return iter; -} - -/* add a page to the notebook */ -static GtkWidget * -prefs_nb_page_add(GtkWidget *notebook, const gchar *title, GtkWidget *page, const char *page_key) -{ - GtkWidget *frame; - - frame = gtk_frame_new(title); - gtk_widget_show(frame); - if(page) { - gtk_container_add(GTK_CONTAINER(frame), page); - g_object_set_data(G_OBJECT(prefs_w), page_key, page); - } - gtk_notebook_append_page (GTK_NOTEBOOK(notebook), frame, NULL); - - return frame; -} - - /* show the dialog */ void prefs_cb(GtkWidget *w, gpointer dummy) @@ -512,11 +552,6 @@ prefs_page_cb(GtkWidget *w _U_, gpointer dummy _U_, PREFS_PAGE_E prefs_page) cts.page = 0; - /* Preferences common for all protocols */ - g_strlcpy(label_str, "Protocols", MAX_TREE_NODE_NAME_LEN); - prefs_nb_page_add(prefs_nb, label_str, protocols_prefs_show(), E_PROTOCOLS_PAGE_KEY); - protocols_page = cts.page++; - /* GUI prefs */ g_strlcpy(label_str, "User Interface", MAX_TREE_NODE_NAME_LEN); prefs_nb_page_add(prefs_nb, label_str, gui_prefs_show(), E_GUI_PAGE_KEY); @@ -582,9 +617,10 @@ prefs_page_cb(GtkWidget *w _U_, gpointer dummy _U_, PREFS_PAGE_E prefs_page) #endif /* _WIN32 */ #endif /* HAVE_LIBPCAP */ - /* Printing prefs */ - g_strlcpy(label_str, "Printing", MAX_TREE_NODE_NAME_LEN); - prefs_nb_page_add(prefs_nb, label_str, printer_prefs_show(), E_PRINT_PAGE_KEY); + /* Saved filter prefs */ + g_strlcpy(label_str, "Filter Expressions", MAX_TREE_NODE_NAME_LEN); + prefs_nb_page_add(prefs_nb, label_str, filter_expressions_prefs_show(), + E_FILTER_EXPRESSIONS_PAGE_KEY); prefs_tree_page_add(label_str, cts.page, store, NULL); cts.page++; @@ -594,22 +630,15 @@ prefs_page_cb(GtkWidget *w _U_, gpointer dummy _U_, PREFS_PAGE_E prefs_page) prefs_tree_page_add(label_str, cts.page, store, NULL); cts.page++; - /* Saved filter prefs */ - g_strlcpy(label_str, "Filter Expressions", MAX_TREE_NODE_NAME_LEN); - prefs_nb_page_add(prefs_nb, label_str, filter_expressions_prefs_show(), - E_FILTER_EXPRESSIONS_PAGE_KEY); - prefs_tree_page_add(label_str, cts.page, store, NULL); - cts.page++; - - /* TAPS player prefs */ - g_strlcpy(label_str, "Statistics", MAX_TREE_NODE_NAME_LEN); - prefs_nb_page_add(prefs_nb, label_str, stats_prefs_show(), E_TAPS_PAGE_KEY); + /* Printing prefs */ + g_strlcpy(label_str, "Printing", MAX_TREE_NODE_NAME_LEN); + prefs_nb_page_add(prefs_nb, label_str, printer_prefs_show(), E_PRINT_PAGE_KEY); prefs_tree_page_add(label_str, cts.page, store, NULL); cts.page++; /* Registered prefs */ cts.notebook = prefs_nb; - cts.is_protocol = FALSE; + cts.store = store; prefs_modules_foreach_submodules(NULL, module_prefs_show, &cts); /* Button row: OK and alike buttons */ @@ -1322,8 +1351,6 @@ prefs_main_fetch_all(GtkWidget *dlg, gboolean *must_redissect) nameres_prefs_fetch(g_object_get_data(G_OBJECT(dlg), E_NAMERES_PAGE_KEY)); filter_expressions_prefs_fetch(g_object_get_data(G_OBJECT(dlg), E_FILTER_EXPRESSIONS_PAGE_KEY)); - stats_prefs_fetch(g_object_get_data(G_OBJECT(dlg), E_TAPS_PAGE_KEY)); - protocols_prefs_fetch(g_object_get_data(G_OBJECT(dlg), E_PROTOCOLS_PAGE_KEY)); prefs_modules_foreach(module_prefs_fetch, must_redissect); return TRUE; @@ -1359,8 +1386,6 @@ prefs_main_apply_all(GtkWidget *dlg, gboolean redissect) #endif /* HAVE_LIBPCAP */ printer_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_PRINT_PAGE_KEY)); nameres_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_NAMERES_PAGE_KEY)); - stats_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_TAPS_PAGE_KEY)); - protocols_prefs_apply(g_object_get_data(G_OBJECT(dlg), E_PROTOCOLS_PAGE_KEY)); /* show/hide the Save button - depending on setting */ save_bt = g_object_get_data(G_OBJECT(prefs_w), E_PREFSW_SAVE_BT_KEY); @@ -1403,13 +1428,11 @@ prefs_main_destroy_all(GtkWidget *dlg) #endif /* HAVE_LIBPCAP */ printer_prefs_destroy(g_object_get_data(G_OBJECT(dlg), E_PRINT_PAGE_KEY)); nameres_prefs_destroy(g_object_get_data(G_OBJECT(dlg), E_NAMERES_PAGE_KEY)); - stats_prefs_destroy(g_object_get_data(G_OBJECT(dlg), E_TAPS_PAGE_KEY)); /* Free up the saved preferences (both for "prefs" and for registered preferences). */ free_prefs(&saved_prefs); prefs_modules_foreach(module_prefs_clean, NULL); - protocols_prefs_destroy(g_object_get_data(G_OBJECT(dlg), E_PROTOCOLS_PAGE_KEY)); } diff --git a/ui/gtk/prefs_taps.c b/ui/gtk/prefs_taps.c index 2a6d06fa06..22c60ed89b 100644 --- a/ui/gtk/prefs_taps.c +++ b/ui/gtk/prefs_taps.c @@ -107,7 +107,7 @@ stats_prefs_fetch(GtkWidget *w _U_) /* Test for a sane tap update interval */ if (prefs.tap_update_interval < 100 || prefs.tap_update_interval > 10000) { - prefs.tap_update_interval = 3000; + prefs.tap_update_interval = TAP_UPDATE_DEFAULT_INTERVAL; } #ifdef HAVE_LIBPORTAUDIO diff --git a/ui/qt/main.cpp b/ui/qt/main.cpp index 242296fad6..755112c25b 100644 --- a/ui/qt/main.cpp +++ b/ui/qt/main.cpp @@ -941,10 +941,6 @@ int main(int argc, char *argv[]) // splash_update(RA_PREFERENCES, NULL, (gpointer)splash_win); - /* Now register the preferences for any non-dissector modules. - We must do that before we read the preferences as well. */ - prefs_register_modules(); - prefs_p = read_configuration_files (&gdp_path, &dp_path); /* Removed thread code: * http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=35027 |