aboutsummaryrefslogtreecommitdiffstats
path: root/gtk
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2011-10-29 10:28:58 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2011-10-29 10:28:58 +0000
commit69d36a6271c65769f7b7ba78516e8530e8cf8ccf (patch)
tree3e4e98fb36e35a80e1bed6b06ec64756017b86c4 /gtk
parent8b0be9ad634d2347dd7c907b0c9d97997762928f (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.c12
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);