Salutations + Comment passer plus d'un pointeur comme argument au G_CALLBACK ?
Bonjour,
Tout d'abord bonjour à toutes & tous, je débute sur ce forum mais également avec GTK ;)
Voici ma question et merci d'avance pour votre aide :
Je souhaite passer deux pointeurs à une fonction callback appelée par un g_signal_connect. Je n'ai pas d'erreur de compilation, mais je ne récupère pas les mêmes adresses, une fois transmises à la fonction (voir les 2x2 printf) :
(Le but est de synchroniser une glissière et une barre de progression)
Dans le header :
Code:
1 2 3 4 5 6
| typedef struct DeuxPointeurs DeuxPointeurs;
struct DeuxPointeurs
{
GtkWidget* pSource;
GtkWidget* pCible;
}; |
Dans le main :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| DeuxPointeurs stGliss1_Barre2;
DeuxPointeurs* pGliss1_Barre2 = &stGliss1_Barre2;
stGliss1_Barre2.pCible = gtk_progress_bar_new();
stGliss1_Barre2.pSource = gtk_hscale_new_with_range(0, 1, 0.01);
printf("Adresse 1 : %d \n",pGliss1_Barre2->pSource);
printf("Adresse 2 : %d \n",pGliss1_Barre2->pCible);
g_signal_connect(G_OBJECT(stGliss1_Barre2.pSource), "value-changed", G_CALLBACK(fStatutGliss_1),pGliss1_Barre2);
void fStatutGliss_1(DeuxPointeurs* data)
{
printf("Adr data : %d \n",data->pSource);
printf("Adr data : %d \n",data->pCible);
} |