Bonjour,
j'ai un problème similaire à celui-ci:
http://www.developpez.net/forums/sho...light=callback

Je souhaite simplement que lorsqu'on clic sur un bouton, la fonction callback appelée puisse recevoir plusieurs arguments. Le problème est qu'il n'y a qu'un argument possible:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
gulong g_signal_connect( gpointer      *object,
                         const gchar   *name,
                         GCallback     func,
                         gpointer      func_data);
Je crois que la solution est de donner en argument à la fonction callback une structure:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
/* Test struct */
typedef struct{
	gchar abc;
	gchar def;
}Test;
 
/* callback function*/
void callback(GtkWidget *widget, Test data){
	data.abc = 1;
	data.def = 2;
}
 
/* main function */
main(){
Test test1;
...
g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(callback), &test1);
...
}
Est-ce vraiement ainsi qu'il faut procéder?