From e316216863b6616286b69b91eeb54fa1d49e89ae Mon Sep 17 00:00:00 2001 From: compudj Date: Fri, 27 Oct 2006 11:51:53 +0000 Subject: [PATCH] fix per cpu filter in control flow view git-svn-id: http://ltt.polymtl.ca/svn@2214 04897980-b3bd-0310-b5e0-8ef037075253 --- ltt/branches/poly/configure.in | 2 +- ltt/branches/poly/lttv/lttv/filter.c | 5 ++--- .../poly/lttv/modules/gui/controlflow/eventhooks.c | 10 +++++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ltt/branches/poly/configure.in b/ltt/branches/poly/configure.in index c83871ec..4b119abb 100644 --- a/ltt/branches/poly/configure.in +++ b/ltt/branches/poly/configure.in @@ -23,7 +23,7 @@ AC_PREREQ(2.57) AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS) #AC_WITH_LTDL # not needed ? -AM_INIT_AUTOMAKE(LinuxTraceToolkitViewer,0.8.67-26102006) +AM_INIT_AUTOMAKE(LinuxTraceToolkitViewer,0.8.68-27102006) AM_CONFIG_HEADER(config.h) AM_PROG_LIBTOOL diff --git a/ltt/branches/poly/lttv/lttv/filter.c b/ltt/branches/poly/lttv/lttv/filter.c index b8eb2ad6..697779a6 100644 --- a/ltt/branches/poly/lttv/lttv/filter.c +++ b/ltt/branches/poly/lttv/lttv/filter.c @@ -2023,10 +2023,9 @@ lttv_filter_tree_parse_branch( else return se->op((gpointer)&state->state->s,v); break; case LTTV_FILTER_STATE_CPU: - if(context == NULL) return TRUE; + if(state == NULL) return TRUE; else { - if(state == NULL) return TRUE; - else return se->op((gpointer)&state->cpu,v); + return se->op((gpointer)&state->cpu,v); } break; case LTTV_FILTER_EVENT_NAME: diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c b/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c index c30ed2ae..ddd53929 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c @@ -2396,6 +2396,8 @@ void draw_closure(gpointer key, gpointer value, gpointer user_data) LttTime evtime = closure_data->end_time; + gboolean dodraw = TRUE; + { /* For the process */ /* First, check if the current process is in the state computation @@ -2438,7 +2440,7 @@ void draw_closure(gpointer key, gpointer value, gpointer user_data) if(filter != NULL && filter->head != NULL) if(!lttv_filter_tree_parse(filter->head,NULL,NULL, tc->t,NULL,process,tc)) - return FALSE; + dodraw = FALSE; /* Only draw for processes that are currently in the trace states */ @@ -2521,8 +2523,10 @@ void draw_closure(gpointer key, gpointer value, gpointer user_data) } else { draw_context.drawinfo.start.x = hashed_process_data->x.middle; /* Draw the line */ - PropertiesLine prop_line = prepare_s_e_line(process); - draw_line((void*)&prop_line, (void*)&draw_context); + if(dodraw) { + PropertiesLine prop_line = prepare_s_e_line(process); + draw_line((void*)&prop_line, (void*)&draw_context); + } /* become the last x position */ if(likely(x != hashed_process_data->x.middle)) { -- 2.34.1