}
-static guint hash_fct(gconstpointer key)
+static guint process_list_hash_fct(gconstpointer key)
{
- return ((ProcessInfo*)key)->pid ^ ((ProcessInfo*)key)->cpu;
+ guint pid = ((ProcessInfo*)key)->pid;
+ return ((pid>>8 ^ pid>>4 ^ pid>>2 ^ pid) ^ ((ProcessInfo*)key)->cpu);
}
-static gboolean equ_fct(gconstpointer a, gconstpointer b)
+static gboolean process_list_equ_fct(gconstpointer a, gconstpointer b)
{
const ProcessInfo *pa = (const ProcessInfo*)a;
const ProcessInfo *pb = (const ProcessInfo*)b;
-
+
if(pa->pid != pb->pid)
return 0;
GTK_SORT_ASCENDING);
process_list->process_hash = g_hash_table_new_full(
- hash_fct, equ_fct,
+ process_list_hash_fct, process_list_equ_fct,
destroy_hash_key, destroy_hash_data
);
* overriden by the new state before anything is drawn.
*/
hashed_process_data->x.over = 0;
+ hashed_process_data->x.over_used = FALSE;
+ hashed_process_data->x.over_marked = FALSE;
hashed_process_data->x.middle = 0;
+ hashed_process_data->x.middle_used = FALSE;
+ hashed_process_data->x.middle_marked = FALSE;
hashed_process_data->x.under = 0;
+ hashed_process_data->x.under_used = FALSE;
+ hashed_process_data->x.under_marked = FALSE;
+ hashed_process_data->next_good_time = ltt_time_zero;
/* Add a new row to the model */
gtk_list_store_append ( process_list->list_store,