aboutsummaryrefslogtreecommitdiffstats
path: root/ui/gtk/main_menubar.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2015-12-17 19:18:33 -0800
committerGuy Harris <guy@alum.mit.edu>2015-12-18 03:19:03 +0000
commitd222dd398904dda499cb6fe2d5f300643076c2b1 (patch)
tree2ed0f5f624edd872ec333a4858ceed8da3d67dee /ui/gtk/main_menubar.c
parent4bec4b0167961bf557f82fb20ba3e95e4dfd3f86 (diff)
Provide routines to set string-like and range preferences from a string.
That gets rid of some duplicate code. Change-Id: I4b65c6c73929d18602f6b0425e4f3dbbabbf0127 Reviewed-on: https://code.wireshark.org/review/12713 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'ui/gtk/main_menubar.c')
-rw-r--r--ui/gtk/main_menubar.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/ui/gtk/main_menubar.c b/ui/gtk/main_menubar.c
index d8bccc9aff..f2b87383c2 100644
--- a/ui/gtk/main_menubar.c
+++ b/ui/gtk/main_menubar.c
@@ -4784,7 +4784,6 @@ menu_prefs_change_ok (GtkWidget *w, gpointer parent_w)
module_t *module = (module_t *)g_object_get_data (G_OBJECT(w), "module");
pref_t *pref = (pref_t *)g_object_get_data (G_OBJECT(w), "pref");
const gchar *new_value = gtk_entry_get_text(GTK_ENTRY(entry));
- range_t *newrange;
gchar *p;
guint uval;
@@ -4803,26 +4802,15 @@ menu_prefs_change_ok (GtkWidget *w, gpointer parent_w)
}
break;
case PREF_STRING:
- if (strcmp (*pref->varp.string, new_value) != 0) {
- module->prefs_changed = TRUE;
- g_free((void*)*pref->varp.string);
- *pref->varp.string = g_strdup(new_value);
- }
+ prefs_set_string_like_value(pref, new_value, &module->prefs_changed);
break;
case PREF_RANGE:
- if (range_convert_str(&newrange, new_value, pref->info.max_value) != CVT_NO_ERROR) {
+ if (!prefs_set_range_value(pref, new_value, &module->prefs_changed)) {
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
"The value \"%s\" isn't a valid range.",
new_value);
return;
}
- if (!ranges_are_equal(*pref->varp.range, newrange)) {
- module->prefs_changed = TRUE;
- g_free(*pref->varp.range);
- *pref->varp.range = newrange;
- } else {
- g_free (newrange);
- }
break;
default:
g_assert_not_reached();