#define MAX_PATH_LEN 256
#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format)
//FIXME
-#define TRACE_NUMBER 0
+// fixed #define TRACE_NUMBER 0
#define EXTRA_ALLOC 1024 // pixels
/* Action to do when background computation completed.
gint num_traces = lttv_traceset_number(tsc->ts);
gint i;
LttvTrace *trace;
+ LttvTraceState *tstate;
LttvHooks *histo_background_ready_hook =
lttv_hooks_new();
for(i=0;i<num_traces;i++) {
trace = lttv_traceset_get(tsc->ts, i);
+ tstate = LTTV_TRACE_STATE(tsc->traces[i]);
- if(lttvwindowtraces_get_ready(g_quark_from_string("state"),trace)==FALSE) {
+ if(lttvwindowtraces_get_ready(g_quark_from_string("state"),trace)==FALSE
+ && !tstate->has_precomputed_states) {
if(lttvwindowtraces_get_in_progress(g_quark_from_string("state"),
trace) == FALSE) {
* @return The widget created.
*/
GtkWidget *
-h_guihistocontrolflow(Tab *tab)
+h_guihistocontrolflow(LttvPlugin *plugin)
{
- g_info("h_guihistocontrolflow, %p", tab);
- HistoControlFlowData *histocontrol_flow_data = guihistocontrolflow(tab) ;
+ LttvPluginTab *ptab = LTTV_PLUGIN_TAB(plugin);
+ g_info("h_guihistocontrolflow, %p", ptab);
+ HistoControlFlowData *histocontrol_flow_data = guihistocontrolflow(ptab) ;
+ Tab *tab = ptab->tab;
histocontrol_flow_data->tab = tab;
// Unreg done in the GuiHistoControlFlow_Destructor
// LttvHooksById *histo_event_by_id = lttv_hooks_by_id_new();//if necessary for filter!
// FIXME : eventually request for more traces
- for(i = 0; i<MIN(TRACE_NUMBER+1, nb_trace);i++)
- {
+ // fixed for(i = 0; i<MIN(TRACE_NUMBER+1, nb_trace);i++) {
+ for(i=0;i<nb_trace;i++) {
//should be in the loop or before?
EventsRequest *histo_events_request = g_new(EventsRequest, 1);
LttvFilter *histo_filter = histocontrol_flow_data->histo_main_win_filter;
if(histo_filter != NULL && histo_filter->head != NULL)
if(!lttv_filter_tree_parse(histo_filter->head,e,tfc->tf,
- tfc->t_context->t,tfc))
+ tfc->t_context->t,tfc,NULL,NULL))
return FALSE;
TimeWindow time_window = lttvwindow_get_time_window(histocontrol_flow_data->tab);
histoDrawing_t *drawing = histocontrol_flow_data->drawing;
+ if(!histocontrol_flow_data->chunk_has_begun) return;
+ histocontrol_flow_data->chunk_has_begun = TRUE;
+
if(tfc != NULL)
end_time = LTT_TIME_MIN(tfc->timestamp, events_request->end_time);
else /* end of traceset, or position now out of request : end */