fix per cpu filter in control flow view
authorcompudj <compudj@04897980-b3bd-0310-b5e0-8ef037075253>
Fri, 27 Oct 2006 11:51:53 +0000 (11:51 +0000)
committercompudj <compudj@04897980-b3bd-0310-b5e0-8ef037075253>
Fri, 27 Oct 2006 11:51:53 +0000 (11:51 +0000)
git-svn-id: http://ltt.polymtl.ca/svn@2214 04897980-b3bd-0310-b5e0-8ef037075253

ltt/branches/poly/configure.in
ltt/branches/poly/lttv/lttv/filter.c
ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c

index c83871ec11a09657df87614c85d3dedcd372c773..4b119abb628d63c14e6d609fc31cba3e6f02f92f 100644 (file)
@@ -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
 
index b8eb2ad63684ac25f6e4ba45b8c3c4eb75957b6e..697779a60c30246a0443c9cc146b7d85dd626526 100644 (file)
@@ -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:
index c30ed2ae3c82a1555fc2056de1d651f1d4fc631e..ddd53929303ca60509a8e5e9c445b039cfa59a32 100644 (file)
@@ -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)) {
This page took 0.026748 seconds and 4 git commands to generate.