On Mon, 16 May 2011 23:10:30 +0200 Kai-Martin Knaak <k...@lilalaser.de> wrote:
> Colin D Bennett wrote: > > >> When I load the attached footprint to the buffer, and I say "Break > >> buffer elements to pieces" PCB segfaults: > > > > Confirmed with git HEAD 39dd5f6cd91ec9032c6d2e3ca543e3f8f6cf0e4a > > on amd64 (Ubuntu 11.04). > > > The footprint converts fine for Peters pcb+gl (dowloaded on > 05.04.2011) and for PCB from git (on 23.02.2011) I bisected the bug and determined it was introduced 2011-04-30 by the following commit: ------------------------------------------------------------ git commit: 2ce35292b9e96da38cb56878005aba20891689eb committer: Peter Clifton <pc...@cam.ac.uk> timestamp: Sat 2011-04-30 19:19:22 +0100 message: Convert board objects to GLists of g_slice allocated memory This enables pointers for these objects to be immutable during their lifetime, which is a _huge_ benefit for some operations. Having otherwise was becoming VERY tiresome, and was a perenial source of bugs tripping up novice and experts of the codebase alike. Due to the risks associated with modifying the structure being iterated over, this patch makes the relevant *_LOOP macros iterate over a shallow copy of the underlying GList. This is slight overkill for many cases, but until we have identified which do not modify the data-structures it is wise to keep as we are. ------------------------------------------------------------ Thanks to pcb's action scripting it was easy to do an automated test for my bisection script with src/pcb --action-string "LoadFrom(ElementToBuffer,/tmp/RES400.fp) PasteBuffer(Restore) Quit()" Regards, Colin _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user