Bonjour,
Voila j'ai un soucis avec un morceau de code et je n'arrives pas a comprendre pourquoi cela ne fonctionne pas.
J'ai cette structure :
Code :
- typedef struct
- {
- gint posx;
- gint posy;
- gint couleur;
- GtkWidget *eventbox;
- GtkWidget *label;
- }jeton;
|
Définit en global :
et Celle ci :
Code :
- typedef struct
- {
- gint x;
- gint y;
- }coord;
|
Définit en local dans le main :
Le g_signal_connect suivant :
Code :
- for(i=0;i<8;i++)
- for(j=0;j<8;j++)
- {
- poscoup.x=i;
- poscoup.y=j;
- g_signal_connect(G_OBJECT(ot[i][j].eventbox), "button_press_event", G_CALLBACK(coup), &poscoup);
- }
|
et la fonction suivante :
Code :
- void coup(GtkWidget *eventbox,gpointer poscoup)
- {
- coord *pos=(coord*)poscoup;
- gtk_label_set_label(ot[pos->x][pos->y].label,"P" );
- }
|
Ca compile mais des que j'active le signal en cliquant sur une des event box, le programme plante.
Quelqu'un pourrait il m'expliquer ce qui ne va pas?
En vous remerciant d'avance pour vos réponses,
Galaxed.
Message édité par galaxed le 29-11-2007 à 17:15:00