Bonjour ,
Je voudrais vider complètement le contenu d'une GList pour la réutiliser après.
Ne voyant de fonction proposée d'office pour la question, j'ai d'abord essayé cette solution :
Cette solution fonctionne bien à la fin du programme (après le gtk_main_quit), mais si je l'utilise en cours de programme pour réutiliser la liste ensuite, le programme se fige (processeur à 100%)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 g_list_foreach (liste, (GFunc)g_free, NULL); g_list_free (liste);
J'ai essayé en supprimant les éléments manuellement (supprimer le dernier jusqu'à ce qu'il n'y en ait plus) :
Mais le résultat n'est pas plus convaincant. J'avoue que là, je bloque complètement, sur un sujet qui me paraissait pourtant tout con à première vue !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 GList *item = NULL; while (item = g_list_last(liste)) g_list_remove (liste, item); g_list_free (item);![]()
Partager