LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
LttvTracefileState *tfs = (LttvTracefileState *)call_data;
-
+ LttvTraceState *ts =(LttvTraceState *)LTTV_TRACEFILE_CONTEXT(tfs)->t_context;
LttEvent *e;
e = tfc->e;
/* Find process pid_out in the list... */
+ //process_out = lttv_state_find_process_from_trace(ts, pid_out);
process_out = lttv_state_find_process(tfs, pid_out);
+ if(process_out == NULL) return 0;
g_critical("out : %s",g_quark_to_string(process_out->state->s));
-
+
birth = process_out->creation_time;
gchar *name = strdup(g_quark_to_string(process_out->name));
HashedProcessData *hashed_process_data_out = NULL;
g_free(name);
/* Find process pid_in in the list... */
+ //process_in = lttv_state_find_process_from_trace(ts, pid_in);
process_in = lttv_state_find_process(tfs, pid_in);
+ if(process_in == NULL) return 0;
g_critical("in : %s",g_quark_to_string(process_in->state->s));
birth = process_in->creation_time;
LttvTracefileContext *tfc = (LttvTracefileContext *)call_data;
LttvTracefileState *tfs = (LttvTracefileState *)call_data;
+ LttvTraceState *ts =(LttvTraceState *)LTTV_TRACEFILE_CONTEXT(tfs)->t_context;
LttEvent *e;
/* Find process pid_out in the list... */
- process_out = lttv_state_find_process(tfs, pid_out);
+ process_out = lttv_state_find_process_from_trace(ts, pid_out);
+ if(process_out == NULL) return 0;
//g_critical("out : %s",g_quark_to_string(process_out->state->s));
birth = process_out->creation_time;
g_free(name);
/* Find process pid_in in the list... */
- process_in = lttv_state_find_process(tfs, pid_in);
+ process_in = lttv_state_find_process_from_trace(ts, pid_in);
+ if(process_in == NULL) return 0;
//g_critical("in : %s",g_quark_to_string(process_in->state->s));
birth = process_in->creation_time;
draw_context->gc = gdk_gc_new(control_flow_data->drawing->pixmap);
gdk_gc_copy(draw_context->gc, widget->style->black_gc);
- if(process->state->s == LTTV_STATE_RUN)
+ if(process != NULL && process->state->s == LTTV_STATE_RUN)
{
PropertiesBG prop_bg;
prop_bg.color = g_new(GdkColor,1);
prop_line.position = MIDDLE;
/* color of line : status of the process */
- if(process->state->s == LTTV_STATE_UNNAMED)
- {
- prop_line.color->red = 0xffff;
- prop_line.color->green = 0xffff;
- prop_line.color->blue = 0xffff;
- }
- else if(process->state->s == LTTV_STATE_WAIT_FORK)
- {
- prop_line.color->red = 0x0fff;
- prop_line.color->green = 0xffff;
- prop_line.color->blue = 0xfff0;
- }
- else if(process->state->s == LTTV_STATE_WAIT_CPU)
- {
- prop_line.color->red = 0xffff;
- prop_line.color->green = 0xffff;
- prop_line.color->blue = 0x0000;
- }
- else if(process->state->s == LTTV_STATE_EXIT)
- {
- prop_line.color->red = 0xffff;
- prop_line.color->green = 0x0000;
- prop_line.color->blue = 0xffff;
- }
- else if(process->state->s == LTTV_STATE_WAIT)
- {
- prop_line.color->red = 0xffff;
- prop_line.color->green = 0x0000;
- prop_line.color->blue = 0x0000;
- }
- else if(process->state->s == LTTV_STATE_RUN)
+ if(process != NULL)
{
- prop_line.color->red = 0x0000;
- prop_line.color->green = 0xffff;
- prop_line.color->blue = 0x0000;
+ if(process->state->s == LTTV_STATE_UNNAMED)
+ {
+ prop_line.color->red = 0xffff;
+ prop_line.color->green = 0xffff;
+ prop_line.color->blue = 0xffff;
+ }
+ else if(process->state->s == LTTV_STATE_WAIT_FORK)
+ {
+ prop_line.color->red = 0x0fff;
+ prop_line.color->green = 0xffff;
+ prop_line.color->blue = 0xfff0;
+ }
+ else if(process->state->s == LTTV_STATE_WAIT_CPU)
+ {
+ prop_line.color->red = 0xffff;
+ prop_line.color->green = 0xffff;
+ prop_line.color->blue = 0x0000;
+ }
+ else if(process->state->s == LTTV_STATE_EXIT)
+ {
+ prop_line.color->red = 0xffff;
+ prop_line.color->green = 0x0000;
+ prop_line.color->blue = 0xffff;
+ }
+ else if(process->state->s == LTTV_STATE_WAIT)
+ {
+ prop_line.color->red = 0xffff;
+ prop_line.color->green = 0x0000;
+ prop_line.color->blue = 0x0000;
+ }
+ else if(process->state->s == LTTV_STATE_RUN)
+ {
+ prop_line.color->red = 0x0000;
+ prop_line.color->green = 0xffff;
+ prop_line.color->blue = 0x0000;
+ }
+ else
+ {
+ prop_line.color->red = 0xffff;
+ prop_line.color->green = 0xffff;
+ prop_line.color->blue = 0xffff;
+ }
+
}
else
{
- prop_line.color->red = 0xffff;
- prop_line.color->green = 0xffff;
- prop_line.color->blue = 0xffff;
+ prop_line.color->red = 0xffff;
+ prop_line.color->green = 0xffff;
+ prop_line.color->blue = 0xffff;
}
draw_line((void*)&prop_line, (void*)draw_context);