(gpointer)viewer);
}
+/* Stop all the processings and call gtk_main_quit() */
+static void mainwindow_quit()
+{
+ lttvwindowtraces_unregister_requests(g_quark_from_string("stats"));
+ lttvwindowtraces_unregister_requests(g_quark_from_string("state"));
+ lttvwindowtraces_unregister_computation_hooks(g_quark_from_string("stats"));
+ lttvwindowtraces_unregister_computation_hooks(g_quark_from_string("state"));
+
+ gtk_main_quit();
+}
+
+
/* insert_viewer function constructs an instance of a viewer first,
* then inserts the widget of the instance into the container of the
* main window
current_time_change_manager(tab, new_current_time);
//FIXME : we delete the filter tree, when it should be updated.
- lttv_filter_tree_destroy(tab->filter);
+ lttv_filter_destroy(tab->filter);
tab->filter = NULL;
#if 0
}
}
}
-
+#if 0
/* 0.1 Lock Traces */
{
guint iter_trace=0;
/* 0.2 Seek tracefiles positions to context position */
lttv_process_traceset_synchronize_tracefiles(tsc);
-
+#endif //0
/* Events processing algorithm implementation */
/* Warning : the gtk_events_pending takes a LOT of cpu time. So what we do
}
-
+#if 0
/* C Unlock Traces */
{
//lttv_process_traceset_get_sync_data(tsc);
lttvwindowtraces_unlock(trace_v);
}
}
-
+#endif //0
#if 0
//set the cursor back to normal
gdk_window_set_cursor(win, NULL);
strcpy(label,"Page");
if(get_label(mw_data, label,"Get the name of the tab","Please input tab's name"))
return (create_tab (mw_data, copy_tab, notebook, label));
+ else
+ return NULL;
}
void
on_quit_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
- gtk_main_quit ();
+ mainwindow_quit();
}
g_info("There are now : %d windows\n",g_slist_length(g_main_window_list));
if(g_slist_length(g_main_window_list) == 0)
- gtk_main_quit ();
+ mainwindow_quit();
}
gboolean
}
id = gtk_dialog_run(GTK_DIALOG(dialogue));
- GtkTreeModel **store_model = (GtkTreeModel**)&store; /* for strict aliasing */
+ GtkTreeModel **store_model = (GtkTreeModel**)&store;
switch(id){
case GTK_RESPONSE_ACCEPT:
case GTK_RESPONSE_OK:
/* Copy the previous tab's filter */
/* We can clone the filter, as we copy the trace set also */
/* The filter must always be in sync with the trace set */
- if(copy_tab->filter != NULL)
- tab->filter = lttv_filter_clone(copy_tab->filter);
+ tab->filter = lttv_filter_clone(copy_tab->filter);
} else {
tab->traceset_info->traceset = lttv_traceset_new();