color_filters_apply(GSList *cfl)
{
/* remove "old" entries */
- color_filter_list_delete(&color_filter_list);
+/* color_filter_list_delete(&color_filter_list);*/
+
+ /* deleting the color filters crashes unpredictably
+ * (e.g. sometimes while clearing the list) :-(
+ *
+ * for now, just clear the list and let the filters remain in memory
+ * until WS is closed -> memory leak
+ *
+ * XXX - move the filters to a "removed list" as before
+ * and delete them if the file is closed (or on rescan of packets or such?) */
+ color_filter_list = NULL;
/* clone all list entries from edit to normal list */
color_filter_list = color_filter_list_clone(cfl);
/* 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);