- trace = ltt_trace_open(dir);
- if(trace == NULL) g_critical("cannot open trace %s", dir);
- trace_v = lttv_trace_new(trace);
+ get_absolute_pathname(dir, abs_path);
+ trace_v = lttvwindowtraces_get_trace_by_name(abs_path);
+ if(trace_v == NULL) {
+ trace = ltt_trace_open(abs_path);
+ if(trace == NULL) g_critical("cannot open trace %s", abs_path);
+ trace_v = lttv_trace_new(trace);
+ lttvwindowtraces_add_trace(trace_v);
+ }