+ LttTrace *trace;
+ LttvTrace * trace_v;
+ LttvTraceset * traceset;
+ gint i, nb_trace;
+ char ** name, *remove_trace_name;
+ mainWindow * mwData = get_window_data_struct(widget);
+
+ nb_trace =lttv_traceset_number(mwData->Traceset_Info->traceset);
+ name = g_new(char*,nb_trace);
+ for(i = 0; i < nb_trace; i++){
+ trace_v = lttv_traceset_get(mwData->Traceset_Info->traceset, i);
+ trace = lttv_trace(trace_v);
+ name[i] = trace->pathname;
+ }
+
+ remove_trace_name = get_remove_trace(name, nb_trace);
+
+ if(remove_trace_name){
+ for(i=0; i<nb_trace; i++){
+ if(strcmp(remove_trace_name,name[i]) == 0){
+ traceset = mwData->Traceset_Info->traceset;
+ if(mwData->Traceset_Info->TracesetContext != NULL){
+ lttv_context_fini(LTTV_TRACESET_CONTEXT(mwData->Traceset_Info->TracesetContext));
+ g_object_unref(mwData->Traceset_Info->TracesetContext);
+ }
+ lttv_traceset_remove(traceset, i);
+ mwData->Traceset_Info->TracesetContext =
+ g_object_new(LTTV_TRACESET_STATS_TYPE, NULL);
+ lttv_context_init(
+ LTTV_TRACESET_CONTEXT(mwData->Traceset_Info->TracesetContext),traceset);
+ break;
+ }
+ }
+ }
+
+ g_free(name);