#include <ltt/event.h>
#include <ltt/time.h>
-#include <ltt/type.h>
#include <ltt/trace.h>
#include <lttv/lttv.h>
#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) {
// 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 */