diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2011-10-29 10:28:58 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2011-10-29 10:28:58 +0000 |
commit | 69d36a6271c65769f7b7ba78516e8530e8cf8ccf (patch) | |
tree | 3e4e98fb36e35a80e1bed6b06ec64756017b86c4 /gtk | |
parent | 8b0be9ad634d2347dd7c907b0c9d97997762928f (diff) |
Based on a patch provided by Prashanth in bug 6472:
Only have one Filter Expression window.
svn path=/trunk/; revision=39665
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/dfilter_expr_dlg.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gtk/dfilter_expr_dlg.c b/gtk/dfilter_expr_dlg.c index db43dc2f72..1b6f6e759f 100644 --- a/gtk/dfilter_expr_dlg.c +++ b/gtk/dfilter_expr_dlg.c @@ -76,6 +76,8 @@ typedef struct protocol_data { int hfinfo_index; } protocol_data_t; +static GtkWidget *window; + static void show_relations(GtkWidget *relation_list, ftenum_t ftype); static gboolean relation_is_presence_test(const char *string); static void add_relation_list(GtkWidget *relation_list, const char *relation, gboolean sensitive); @@ -900,7 +902,7 @@ dfilter_expr_dlg_destroy_cb(GtkWidget *w, gpointer filter_te) GtkWidget * dfilter_expr_dlg_new(GtkWidget *filter_te) { - GtkWidget *window, *main_vb, *main_hb; + GtkWidget *main_vb, *main_hb; GtkWidget *field_vb, *field_tree_lb, *field_tree, *tree_scrolled_win; @@ -925,7 +927,13 @@ dfilter_expr_dlg_new(GtkWidget *filter_te) GtkListStore *l_store; GtkTreeSelection *l_sel; - proto_initialize_all_prefixes(); + if (window != NULL) { + /* There's already an "Expression" dialog box; reactivate it. */ + reactivate_window(window); + return window; + } + + proto_initialize_all_prefixes(); window = dlg_conf_window_new("Wireshark: Filter Expression"); gtk_window_set_default_size(GTK_WINDOW(window), 500, 400); |