Bonjour!

J'essaie de programmer un petit soft en GTK+/C. J'aimerai ajouter un sous menu dynamique (du genre les dernières fichiers ouverts). Ainsi, pour ajouter la liste des fichiers, je fais ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
pMenuItem = gtk_menu_item_new_with_label(filename);
gtk_menu_shell_prepend(GTK_MENU_SHELL(pSubMenu), pMenuItem);
gtk_widget_show_now(GTK_WIDGET(pMenuItem));
g_signal_connect(G_OBJECT(pMenuItem), "activate", G_CALLBACK(OnOpenRecent), NULL);
filename est une chaîne de caractères contenant un chemin de fichier.
Ce code marche bien à l'initialisation de la fenêtre (c'est-à-dire avant le gtk_main).
Mais, lorsque la fenêtre est déjà affiché et que je veux ajouter une nouvelle entrée, j'ai deux entrées qui sont affichées (au lieu d'une) ! J'ai essayé d'enlever le gtk_widget_show_now, cette fois, j'ai rien qui s'ajoute. J'ai aussi utilisé les autres fonctions (gtk_widget_show et gtk_widget_show_all), j'ai le même résultat avec gtk_widget_show_now.
Et là, je bloque .

Merci d'avance à toutes les réponses.