Callback - Récupérer une valeur numérique
Bonjour à tous,
Je sollicite votre aide pour résoudre un problème dans la gestion de mes callbacks. Je réalise un menu qui permettrait à l'utilisateur de cliquer sur des boutons correspondant à des enchères. J'ai une structure de ce type :
Code:
1 2 3 4 5 6 7
| typedef struct sBoutonsEncheres{
GtkWidget *bouton_annonce[5];
GtkWidget *boutonValider;
int clic_enchere;
}BoutonsEncheres; |
L'interface du menu est créée dans un fichier interface.c, et j'ai donc :
Code:
1 2 3 4
|
BoutonsEncheres b;
b.bouton_annonce[0]=gtk_toggle_button_new_with_label("100");
g_signal_connect(GTK_OBJECT(b.bouton_annonce[0]), "toggled", GTK_SIGNAL_FUNC(callback_points_annonce), GINT_TO_POINTER(100)); |
Les callbacks sont déclarés dans un fichier callback.c :
Code:
1 2 3 4
| void callback_points_enchere(GtkWidget *widget, gpointer enchere)
{
printf("Vous avez annonce %d points.\n", GPOINTER_TO_INT(annonce));
} |
Tout cela fonctionne sans erreur, mais dès que je tente de récupérer la valeur de l'enchère dans la structure BoutonsEncheres, j'obtiens une erreur de segmentation. Je ne vois pas comment faire pour pouvoir me servir de la valeur récupérée par le callback dans le reste du programme.
Sauriez-vous m'aider ?