Bonjour,

J'ai un segmentation fault assez bizarre, et surtout tres ennuyeux car je n'arrive pas à le résoudre
J'utilisa la structure suivante :
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
21
	typedef struct
	{
		GtkWidget *pFenetre;			/* Fenetre principale */
		GtkWidget *pLbIp;					/* Label IP */
		GtkWidget *pLbPort;			/* Label Port */
		GtkWidget *pLbLogin;			/* Label Login */
		GtkWidget *pLbMdp;			/* Label Mot de passe */
		GtkWidget *pLbDest;			/* Label destinataire */
		GtkWidget *pLbMsg;			/* Label message */
		GtkWidget *pZsIp;				/* Zone saisie IP */
		GtkWidget *pZsPort;			/* Zone saisie Port */
		GtkWidget *pZsLogin;			/* Zone saisie Login */
		GtkWidget *pZsMdp;			/* Zone saisie Mot de passe */
		GtkWidget *pZsDest;			/* Zone saisie destinataire */
		GtkWidget *pZsMsg;			/* Zone saisie message */
		GtkWidget *pBtConnect;	/* Bouton de connection */
		GtkWidget *pBtQuit;				/* Bouton quitter */
		GtkWidget *pBtSend;			/* Bouton d'envoie */
		GtkWidget *pZtInfos;			/* Zone de texte */
		SOCKET maSocket;
	}data;
Voici la fonction qui pose probleme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
void connection(gpointer donnees)
{
	data* pData = donnees;
 
	/*Creation socket */
	pData->maSocket = socket(PF_INET,SOCK_STREAM,0);
}
gpointer = void *
Le main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
int main(int argc, char* argv[])
{
   /* Declaration des variables */
   data pData;
   /*Connection du signal click de chaque bouton à la fonction appropriée*/ 	g_signal_connect(G_OBJECT(pData.pBtConnect),"clicked",G_CALLBACK(connection),&pData);
   /* ... */
   return 0;
}
Je ne comprend pas du tout pourquoi j'ai un segmentation fault lors de l'instruction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
pData->maSocket = socket(PF_INET,SOCK_STREAM,0);
Surtout que quand je fais :
Ca passe...

Merci pour votre aide