- LttvTracesetContext * tsc =
- lttvwindow_get_traceset_context(control_flow_data->mw);
- LttvTracesetState * tss =
- (LttvTracesetState*)tsc;
-
- // Let's call processTrace() !!
-
- EventRequest *event_request = control_flow_data->event_request;
- event_request->control_flow_data = control_flow_data;
- event_request->time_begin = start;
- event_request->time_end = time_end;
-
- event_request->x_begin = x;
- event_request->x_end = x+width;
-
- g_debug("req : start : %u, %u", event_request->time_begin.tv_sec,
- event_request->time_begin.tv_nsec);
-
- g_debug("req : end : %u, %u", event_request->time_end.tv_sec,
- event_request->time_end.tv_nsec);
-
- lttv_hooks_add(control_flow_data->after_traceset, after_data_request, event_request);
- lttv_hooks_add(control_flow_data->event, draw_event_hook, event_request);
- lttv_hooks_add(control_flow_data->after_event, draw_after_hook, event_request);
-
- //lttv_process_traceset_seek_time(tsc, start);
- //lttv_state_traceset_seek_time_closest(tss, start);
- // FIXME : would like to place the after_traceset hook after the traceset,
- // but the traceset context state is not valid anymore.
- lttv_traceset_context_add_hooks(tsc,
- NULL, control_flow_data->after_traceset, NULL, NULL, NULL, NULL,
- //NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, control_flow_data->event, control_flow_data->after_event);
- TimeWindow time_request;
- time_request.start_time = start;
- time_request.time_width = ltt_time_sub(time_end, start);
-
- lttvwindow_time_interval_request(drawing->control_flow_data->mw,
- time_request, G_MAXUINT,
- after_process_traceset_hook,
- control_flow_data);
-
- //lttv_process_traceset(tsc, end, G_MAXULONG);
+ EventsRequest *events_request = g_new(EventsRequest, 1);
+ // Create the hooks
+ LttvHooks *event = lttv_hooks_new();
+ LttvHooks *before_chunk_traceset = lttv_hooks_new();
+ LttvHooks *after_chunk_traceset = lttv_hooks_new();
+
+ lttv_hooks_add(before_chunk_traceset,
+ before_data_request,
+ events_request,
+ LTTV_PRIO_DEFAULT);
+
+ lttv_hooks_add(after_chunk_traceset,
+ after_data_request,
+ events_request,
+ LTTV_PRIO_DEFAULT);
+ lttv_hooks_add(event,
+ draw_event_hook,
+ events_request,
+ LTTV_PRIO_STATE-5);
+ lttv_hooks_add(event,
+ draw_after_hook,
+ events_request,
+ LTTV_PRIO_STATE+5);
+
+
+ // Fill the events request
+ events_request->owner = control_flow_data;
+ events_request->viewer_data = control_flow_data;
+ events_request->servicing = FALSE;
+ events_request->start_time = start;
+ events_request->start_position = NULL;
+ events_request->stop_flag = FALSE;
+ events_request->end_time = time_end;
+ events_request->num_events = G_MAXUINT;
+ events_request->end_position = NULL;
+ events_request->before_chunk_traceset = before_chunk_traceset;
+ events_request->before_chunk_trace = NULL;
+ events_request->before_chunk_tracefile = NULL;
+ events_request->event = event;
+ events_request->event_by_id = NULL;
+ events_request->after_chunk_tracefile = NULL;
+ events_request->after_chunk_trace = NULL;
+ events_request->after_chunk_traceset = after_chunk_traceset;
+ events_request->before_request = NULL;
+ events_request->after_request = NULL;
+
+ g_debug("req : start : %u, %u", start.tv_sec,
+ start.tv_nsec);
+
+ g_debug("req : end : %u, %u", time_end.tv_sec,
+ time_end.tv_nsec);
+
+ lttvwindow_events_request_remove_all(tab,
+ control_flow_data);
+ lttvwindow_events_request(tab, events_request);