aboutsummaryrefslogtreecommitdiffstats
path: root/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'file.c')
-rw-r--r--file.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/file.c b/file.c
index 1ac3d070cb..8007e848f8 100644
--- a/file.c
+++ b/file.c
@@ -818,6 +818,7 @@ add_packet_to_packet_list(frame_data *fdata, capture_file *cf,
if (cf->dfcode != NULL && refilter) {
epan_dissect_prime_dfilter(edt, cf->dfcode);
}
+ /* prepare color filters */
if (color_filters_used()) {
color_filters_prime_edt(edt);
}
@@ -3066,6 +3067,17 @@ cf_select_packet(capture_file *cf, int row)
}
/* We don't need the columns here. */
cf->edt = epan_dissect_new(TRUE, TRUE);
+
+ /* colorize packet: coloring rules might be changed (removed) since last run,
+ recalculate now.
+ if packet is marked, use preferences, otherwise try to apply color filters */
+ if (fdata->flags.marked) {
+ fdata->color_filter = NULL;
+ packet_list_set_colors(row, &prefs.gui_marked_fg, &prefs.gui_marked_bg);
+ } else {
+ fdata->color_filter = color_filters_colorize_packet(row, cf->edt);
+ }
+
epan_dissect_run(cf->edt, &cf->pseudo_header, cf->pd, cf->current_frame,
NULL);