X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Fprocesslist.c;h=93e730aeae5e20ee3772b22d93d0aaeaa58b919e;hb=96947fcfd1323ffb5e9f2ac484adb4432b69e90c;hp=9fc871d862d57d24308c0f54760811be9b24e715;hpb=40debf7ba758820af936895254394591f139f732;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.c b/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.c index 9fc871d8..93e730ae 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.c @@ -32,7 +32,7 @@ * Methods to synchronize process list * *****************************************************************************/ -//static __inline__ guint get_cpu_number_from_name(GQuark name); +//static inline guint get_cpu_number_from_name(GQuark name); /* Enumeration of the columns */ enum @@ -416,9 +416,11 @@ static gboolean remove_hash_item(ProcessInfo *process_info, gtk_list_store_remove (process_list->list_store, &iter); - if(hashed_process_data == process_list->current_hash_data[process_info->cpu]) - process_list->current_hash_data[process_info->cpu] = NULL; - + if(process_list->current_hash_data != NULL) { + if(hashed_process_data == + process_list->current_hash_data[process_info->cpu]) + process_list->current_hash_data[process_info->cpu] = NULL; + } return TRUE; /* remove the element from the hash table */ } @@ -439,22 +441,6 @@ GtkWidget *processlist_get_widget(ProcessList *process_list) } - -static __inline__ gint get_cell_height(ProcessList *process_list, GtkTreeView *tree_view) -{ - gint height = process_list->cell_height_cache; - if(height != -1) return height; - else { - GtkTreeViewColumn *Column = gtk_tree_view_get_column(tree_view, 0); - - gtk_tree_view_column_cell_get_size(Column, NULL, NULL, NULL, NULL, - &process_list->cell_height_cache); - } - - - return process_list->cell_height_cache; -} - void destroy_hash_key(gpointer key) { g_free(key); @@ -576,10 +562,11 @@ int processlist_remove( ProcessList *process_list, g_hash_table_remove(process_list->process_hash, &process_info); - if(hashed_process_data == process_list->current_hash_data[cpu]) { - process_list->current_hash_data[cpu] = NULL; + if(process_list->current_hash_data != NULL) { + if(hashed_process_data == process_list->current_hash_data[cpu]) { + process_list->current_hash_data[cpu] = NULL; + } } - process_list->number_of_process--; return 0; @@ -589,81 +576,8 @@ int processlist_remove( ProcessList *process_list, } -__inline__ guint processlist_get_height(ProcessList *process_list) -{ - return get_cell_height(process_list, - (GtkTreeView*)process_list->process_list_widget) - * process_list->number_of_process ; -} - - -__inline__ gint processlist_get_process_pixels( ProcessList *process_list, - guint pid, guint cpu, LttTime *birth, guint trace_num, - guint *y, - guint *height, - HashedProcessData **pm_hashed_process_data) -{ - ProcessInfo process_info; - gint *path_indices; - GtkTreePath *tree_path; - HashedProcessData *hashed_process_data = NULL; - - process_info.pid = pid; - if(pid == 0) - process_info.cpu = cpu; - else - process_info.cpu = 0; - process_info.birth = *birth; - process_info.trace_num = trace_num; - - if(hashed_process_data = - (HashedProcessData*)g_hash_table_lookup( - process_list->process_hash, - &process_info)) - { - tree_path = gtk_tree_model_get_path( - (GtkTreeModel*)process_list->list_store, - &hashed_process_data->y_iter); - path_indices = gtk_tree_path_get_indices (tree_path); - - *height = get_cell_height(process_list, - (GtkTreeView*)process_list->process_list_widget); - *y = *height * path_indices[0]; - *pm_hashed_process_data = hashed_process_data; - gtk_tree_path_free(tree_path); - - return 0; - } else { - *pm_hashed_process_data = hashed_process_data; - return 1; - } - -} - - -__inline__ gint processlist_get_pixels_from_data( ProcessList *process_list, - HashedProcessData *hashed_process_data, - guint *y, - guint *height) -{ - gint *path_indices; - GtkTreePath *tree_path; - - tree_path = gtk_tree_model_get_path((GtkTreeModel*)process_list->list_store, - &hashed_process_data->y_iter); - path_indices = gtk_tree_path_get_indices (tree_path); - - *height = get_cell_height(process_list, - (GtkTreeView*)process_list->process_list_widget); - *y = *height * path_indices[0]; - gtk_tree_path_free(tree_path); - - return 0; - -} - #if 0 -static __inline__ guint get_cpu_number_from_name(GQuark name) +static inline guint get_cpu_number_from_name(GQuark name) { const gchar *string; char *begin;