Chaque seconde le contenu de la table dans le gtk est mis à jour, mais après un certain temps le contenu de la table reste inchangé jusqu'à ce que la souris se déplace sur la table. La quantité qui change dans la table est la variable buf, qui est du type de temps.pourquoi la ligne ne se met pas à jour dans l'arborescence avec l'appel de la fonction gtk_list_store_set
store = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview_circuit));
gtk_tree_model_foreach(GTK_TREE_MODEL(store),
(GtkTreeModelForeachFunc) foreach_func,
&rr_list);
if (rr_list != NULL)
{
GtkTreePath *path;
path = gtk_tree_row_reference_get_path((GtkTreeRowReference*) rr_list->data);
if (path)
{
GtkTreeIter iter;
if (gtk_tree_model_get_iter(GTK_TREE_MODEL(store), &iter, path))
{
char buf[10];
format_sec_time(buf, ci->circuit_age);
gtk_list_store_set(GTK_LIST_STORE(store), &iter,
COL_ID, ci->circ_id,
COL_PURPOSE, purpose[ci->purpose],
COL_STATE, states[ci->state],
COL_CREATION_TIME, ci->creation_time,
COL_TIMER, buf,
-1);
}
}
}
else
{
AddTreeViewCircuit(ci);
}
g_list_foreach(rr_list, (GFunc) gtk_tree_row_reference_free, NULL);
g_list_free(rr_list);
}