(Courriels de diversion: <desengagerent@deleguerons-contrebassiste.com> <suralimentees@pollueriez-inflige.com> <rallongea@pendront-devorait.com> <viole@huerait-envie.com> <jaugeons@maritaux-imputent.com> <futurs@non-residant-speculent.com> <doit@ramenerions-assaillent.com> <retractile@dedommagerent-aventurent.com> <satiriser@encourais-abrutissant.com> <selectionneriez@experimentatrice-fermetures.com> )


Le 16 Août, Arnault Claden écrit :
> benech wrote:
>> 
>> 
>> exacte, je me suis trompe de copier coller:
>> 
>> je recapitule car c est pas tres clair enfin, je vais essayer :
>> 
>> Soit une window dans laquelle l utilisateur saisit un nombre (en l'occurence
>> un nombre de batiments)
>> Soit un menu deroulant (variant suivant le
>> nombre insere) permettant d acceder a une nouvelle window decrivant les
>> proprietes du batiment numero untel.
>> 
>> exemple :
>> l utilisateur saisit 3 (3 batiments)
>> Le menu deroulant propose les proprietes pour :         1
>>                                                                 2
>>                                                                 3
>> 
>> si on selectionne l un de ces batiment : segmentation fault
>> 
>> c est la methode qui permet de recuperer le numero du batiment choisit qui me
>> renvoit un nombre aberrant.
>> 
>>  void CurrentBuildingCb(Widget w,
>> XtPointer client_data, XtPointer call_data) {
>>   dlgurb.dlgCurrentBuilding = (int)client_data;
>> }
>> 
>> Le probleme est que ce programme fonctionne sous IBM avec la version Motif 1.2

>> mais pas sous SUN avec Motif 2. 1. 0

>> et pas sous Linux avec la derniere version de lesstif

  Je trouve que cela pue le débordement mémoire (le programme écrit là
où il ne devrait pas). Problème qui serait invisible avec AIX.

  Il n'y a pas de raison que ce code ne fonctionne pas, si les
callbacks sont définis avec un code du genre :

  int i;
  for (i = 1; i < maxBuildingCount; ++i) {
     XtAddCallback(building[i], XmNactivateCallback,
                    CurrentBuildingCb, (XtPointer)i);
  }

  Si tu peux disposer de Purify sur Solaris, cela vaudrait le coup de le
passer sur ton application.

  Sinon, il faut montrer plus de code. Je pense en particulier à la
construction des Widget (TextField, menu, boutons à l'intérieur de ce
dernier), la pose des callback et la définition de ces derniers.

> Par contre, je trouve un peu cavalier l'assignation d'un XTPointer en
> int : (int)call_data
> 
> Je n'ai jamais essaye, mais peut-etre le probleme vient-il de la. Je ne
> pourrais pas l'affirmer.

  Je ne crois pas non plus que cela pose problème.

-- 
Marc Thirion              | Toulouse, France
Un Travail pour Chacun    : http://www.multimania.com/untravailchacun/
Marc.Thirion@ISOscope.com : http://www.ISOscope.com/Pérennité des logiciels et des systèmes



---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@savage.iut-blagnac.fr>Le CULTe sur le web: <URL:http://www.CULTe.org>