Reset the temporary coloring filters to defaults instead of doing it
authorsake <sake@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 25 Nov 2007 14:17:56 +0000 (14:17 +0000)
committersake <sake@f5534014-38df-0310-8fa8-9805f1628bb7>
Sun, 25 Nov 2007 14:17:56 +0000 (14:17 +0000)
implicitly by calling "color_filters_init()". This should probably
fix the crashes experienced when pressing ctrl-space a couple of times

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23583 f5534014-38df-0310-8fa8-9805f1628bb7

color_filters.c
color_filters.h
gtk/main.c
gtk/menu.c

index 24dee0aab9b8da0ee65a48a725588d078b343c3a..634e1012bf98af5a11da23dc55c3e0a846278f73 100644 (file)
@@ -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)
index 73522b07f4e8b652ec25bfb0dadc098339d36f94..3daff3115314473291e3bb6631915b64ae8ba139 100644 (file)
@@ -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. 
index 1c7d0d78ffc7236be573ef6560412feaadcadd93..8a9f71f94bc040926c6d865de11ce4f667099995 100644 (file)
@@ -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);
         }
index b9e66c2b5bce3937e0015bf060f0a8ad6559bf67..7811b4c1bc6cd2ce7759893d10d196e1c686b094 100644 (file)
@@ -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);
         }