Bonjour à tous,


Je suis actuellement en train de développer une application en GTK+ et je rencontre un léger soucis.

Je souhaite, à chaque clic sur un bouton, qu'un entier ( compteur ) contenu dans une structure que voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
typedef struct {
 
  const gchar *depart;
  const gchar *arrive;
  int compteur;
 
} DataFav ;
soit incrémenté de 1.

Le code est simple et est le suivant :

Initialisation et appel de la fonction dans le main:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
DataFav *dataFav;
dataFav=malloc(sizeof(DataFav));
 
dataFav->compteur=0;
 
g_signal_connect(G_OBJECT(pFavorisBouton), "clicked", G_CALLBACK(favoris),dataFav);

fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
void favoris(DataFav *dataFav){
 
if( dataFav->compteur<3 ){
 
dataFav->compteur=dataFav->compteur +1;
printf("%i\n",dataFav->compteur);
 
}
 
}

Le problème est que je ne peux appuyer sur le bouton que 4 fois sinon il m'indique une erreur de segmentation.

Affichage console:

1
2
3
4
Erreur de segmentation




Merci pour toute aide apportée, j'ai l'impression d'avoir épuisé mon imagination sur ce problème .


BOByTOX