Bon, je commence a avoir de serieux problemes et je ne comprends pas d'ou ca vient.
Je peine a trouver sur internet des exemples de code ou des solutions pour resoudre mon probleme, je n'ai meme pas trouvé la liste des codes d'erreur.
A savoir : mon application fonctionne sous windows et sous linux , donc mis a part les appels systemes (creation de fenetre, dessin d'une image, dialogue avec le port serie) le code est identique.
Cette application fonctionne tres bien sous windows mais elle est essentiellement destiné a linux et elle plante non pas sur des problemes de memoire (pas de coredump ou autre) mais bien sur les appels aux fonctions X (puisque l 'application quitte inopinément avec un message d erreur X).
Le probleme est que RIEN n est expliqué dans la doc de X, ni la facon d'utiliser les fonctions que j'utilise.
En gros mon application se resume à :
- Je cree une fenetre.
- Je cache mon pointeur.
- Je cree une boucle d'evenement (un while sur la fonction XNextEvent).
- Selon les evenements (click souris) , je redessine a l'aide la fonction XPutImage ma fenêtre.
- J'ai egalement un thread de reception qui lit sur le port série, et selon ce qui est recu , dessine aussi dans la fenetre a l aide de la fonction XPutImage.
On a donc la fonction XPutImage appelée a la fois dans mon processus principal et egalement dans le(s) thread(s) secondaires. (peut etre ca vient de la).
J'ai mis un compteur sur mon appel XPutImage, il arrive parfois que j'ai 100 a 200 appels a cette fonction (rien que pour dessiner les caracteres). Je pense que c est peu.
Autre info : a chaque appel XPutImage , je fais appel a XFlush egalement sinon si les surfaces dessinées sont trop petites, elles sont ignorées (les plantages arrivent aussi sans cette fonction donc je ne pense pas que ca vienne de la).
J'aimerai donc savoir si il existe un autre moyen simple d afficher des images (16 bits toutes simples) autrement qu en utilisant la fonction XPutImage. (Un exemple d application minimal serait genial).
Existe t il aussi la liste des codes d erreurs de XFree car ca serait plus pratique de savoir pourquoi l appel XFree plante. Et je n'ai pas trouvé cette liste sur le site www.xfree.org.
Merci de votre aide , ca m'aiderait grandement.