On Sun, Nov 06, 2005 at 12:56:13AM +0100, Alexandre Anriot wrote: > The update looks correct. > > It builds and runs on i386 here, but the soft has some issues, e.g when > trying to create a segment, it crashes with something like: > > (1st and 2nd point) > > First instantiation of item with key 87811D00 > First instantiation of item with key 87811680 > > (segment between them) > > parent on hash with key 7FFFFFFF > Find parent with ref. 87811D00 > parent on hash with key 7FFFFFFF > Find parent with ref. 87811680 > xmlInsertParent : can't find the key 7FFFFFFF in the hash table
Yes. I think the problem comes from line 1047 of drgeo_figure.cc: return GINT_TO_POINTER (strtol ((gchar *) data.key, NULL, 16)); Looks like bad design... it's using the address of item (pointer value) as a hash key, and the pointer happens to be larger than INT_MAX (the value it can't find above). Maybe this can be solved by generating the hash key in a different way. Right now we basically have: geometricObject *item; item = theFigure->xmlBuildItem (...); key = item; Any suggestions? -- steven Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
