aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--color_filters.c16
-rw-r--r--color_filters.h9
-rw-r--r--gtk/main.c4
-rw-r--r--gtk/menu.c4
4 files changed, 26 insertions, 7 deletions
diff --git a/color_filters.c b/color_filters.c
index 24dee0aab9..634e1012bf 100644
--- a/color_filters.c
+++ b/color_filters.c
@@ -141,7 +141,7 @@ color_filters_find_by_name_cb(gconstpointer arg1, gconstpointer arg2)
/* Set the filter off a temporary colorfilters and enable it */
void
-color_filters_set_tmp(guint8 filt_nr, gchar *filter)
+color_filters_set_tmp(guint8 filt_nr, gchar *filter, gboolean disabled)
{
gchar *name = NULL;
GSList *cfl;
@@ -164,13 +164,25 @@ color_filters_set_tmp(guint8 filt_nr, gchar *filter)
dfilter_free(colorf->c_colorfilter);
colorf->filter_text = g_strdup(filter);
colorf->c_colorfilter = compiled_filter;
- colorf->disabled = FALSE;
+ colorf->disabled = disabled;
}
}
g_free(name);
return;
}
+/* Reset the temporary colorfilters */
+void
+color_filters_reset_tmp()
+{
+ guint8 i;
+
+ for ( i=1 ; i<=10 ; i++ ) {
+ color_filters_set_tmp(i, "frame", TRUE);
+ }
+ return;
+}
+
/* delete the specified filter */
void
color_filter_delete(color_filter_t *colorf)
diff --git a/color_filters.h b/color_filters.h
index 73522b07f4..3daff31153 100644
--- a/color_filters.h
+++ b/color_filters.h
@@ -70,9 +70,16 @@ color_filters_enable(gboolean enable);
*
* @param filt_nr a number 1-10 pointing to a temporary color
* @param filter the new filter-string
+ * @param disabled whether the filter-rule should be disabled
*/
void
-color_filters_set_tmp(guint8 filt_nr, gchar *filter);
+color_filters_set_tmp(guint8 filt_nr, gchar *filter, gboolean disabled);
+
+/** Reset the temporary color filters
+ *
+ */
+void
+color_filters_reset_tmp();
/* Prime the epan_dissect_t with all the compiler
* color filters of the current filter list.
diff --git a/gtk/main.c b/gtk/main.c
index 1c7d0d78ff..8a9f71f94b 100644
--- a/gtk/main.c
+++ b/gtk/main.c
@@ -363,9 +363,9 @@ colorize_selected_ptree_cb(GtkWidget *w _U_, gpointer data _U_, guint8 filt_nr)
color_display_with_filter(filter);
} else {
if (filt_nr==255) {
- color_filters_init();
+ color_filters_reset_tmp();
} else {
- color_filters_set_tmp(filt_nr,filter);
+ color_filters_set_tmp(filt_nr,filter, FALSE);
}
cf_colorize_packets(&cfile);
}
diff --git a/gtk/menu.c b/gtk/menu.c
index b9e66c2b5b..7811b4c1bc 100644
--- a/gtk/menu.c
+++ b/gtk/menu.c
@@ -386,7 +386,7 @@ colorize_conversation_cb(GtkWidget * w _U_, gpointer data _U_, int action)
gchar *filter = NULL;
if( (action>>8) == 255 ) {
- color_filters_init();
+ color_filters_reset_tmp();
cf_colorize_packets(&cfile);
} else {
if( (action&0xff) == 0 ) {
@@ -415,7 +415,7 @@ colorize_conversation_cb(GtkWidget * w _U_, gpointer data _U_, int action)
color_display_with_filter(filter);
} else {
/* Set one of the temporary coloring filters */
- color_filters_set_tmp((guint8)(action>>8),filter);
+ color_filters_set_tmp((guint8)(action>>8),filter,FALSE);
cf_colorize_packets(&cfile);
}