summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2014-12-26 23:39:48 +0100
committerPascal Quantin <pascal.quantin@gmail.com>2014-12-26 22:43:35 +0000
commiteff91ed57fb21ed9a3f75ddb8377d7dcd3516d91 (patch)
tree091d641b4efa7c3434242f44afde614610153c98
parentc2c9a09880a6c2aad7529f9e133f53cfe7aba7ec (diff)
downloadwireshark-eff91ed57fb21ed9a3f75ddb8377d7dcd3516d91.tar.gz
Fix building of color conversation filter
Right now eth filter (the last one tried) is always applied Change-Id: Ibe5d3c30033bd2d385bd1e68b20388114673cb5c Reviewed-on: https://code.wireshark.org/review/6064 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
-rw-r--r--ui/gtk/main_menubar.c32
1 files changed, 20 insertions, 12 deletions
diff --git a/ui/gtk/main_menubar.c b/ui/gtk/main_menubar.c
index 38ebe304c6..2afd5a6e17 100644
--- a/ui/gtk/main_menubar.c
+++ b/ui/gtk/main_menubar.c
@@ -216,18 +216,26 @@ colorize_conversation_cb(color_conversation_filter_t* color_filter, int action_n
color_filter = find_color_conversation_filter("tcp");
if ((color_filter != NULL) && (color_filter->is_filter_valid(pi)))
filter = color_filter->build_filter_string(pi);
- color_filter = find_color_conversation_filter("udp");
- if ((color_filter != NULL) && (color_filter->is_filter_valid(pi)))
- filter = color_filter->build_filter_string(pi);
- color_filter = find_color_conversation_filter("ip");
- if ((color_filter != NULL) && (color_filter->is_filter_valid(pi)))
- filter = color_filter->build_filter_string(pi);
- color_filter = find_color_conversation_filter("ipv6");
- if ((color_filter != NULL) && (color_filter->is_filter_valid(pi)))
- filter = color_filter->build_filter_string(pi);
- color_filter = find_color_conversation_filter("eth");
- if ((color_filter != NULL) && (color_filter->is_filter_valid(pi)))
- filter = color_filter->build_filter_string(pi);
+ if (filter == NULL) {
+ color_filter = find_color_conversation_filter("udp");
+ if ((color_filter != NULL) && (color_filter->is_filter_valid(pi)))
+ filter = color_filter->build_filter_string(pi);
+ }
+ if (filter == NULL) {
+ color_filter = find_color_conversation_filter("ip");
+ if ((color_filter != NULL) && (color_filter->is_filter_valid(pi)))
+ filter = color_filter->build_filter_string(pi);
+ }
+ if (filter == NULL) {
+ color_filter = find_color_conversation_filter("ipv6");
+ if ((color_filter != NULL) && (color_filter->is_filter_valid(pi)))
+ filter = color_filter->build_filter_string(pi);
+ }
+ if (filter == NULL) {
+ color_filter = find_color_conversation_filter("eth");
+ if ((color_filter != NULL) && (color_filter->is_filter_valid(pi)))
+ filter = color_filter->build_filter_string(pi);
+ }
if( filter == NULL ) {
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK, "Unable to build conversation filter.");
return;