Bon bin je viens de tester chez moi mais je n'ai à priori aucun problème. Teste voir une chose mais c'est pas sûr que ca résolve le problème mais sait-on jamais !
Le truc serait de déclarer un pointeur sur la structure en lieu et place d'une simple variable et de lui allouer un espace mémoire sur le tas, dans le main donc:
text_st * st = g_malloc (sizeof (* st));
Le truc c'est lorsque tu as une variable simple comme avant, celle-ci est mise dans la pile du programme mais les allocations tout comme la création des widgets se fait en fait dans le tas, je ne sais pas si sur certaines implémentation un mixe des deux fonctionne ou non, normalement cela ne devrait pas jouer mais j'ai déjà eu des surprises de ce côté !
Il faut également changer l'appel de la fonction create_window1 soit:
window1 = create_window1 (st);
Le reste dans les autres fonctions ne change pas ce qui limite grandement les changements. Il faut pas non plus oublier de libérer notre allocation dynamique donc après l'appel de gtk_main (); tu peux y mettre aussi:
Voilà les quelques modifications, je ne pense pas que cela change grand chose mais cela vaut le coup d'essayer, ayant déjà un problème à cause d'une variable locale de ce type... mieux vaut tout essayer
Partager