[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Problem breaking apart an element in the buffer
Just went and got the latest cvs and now the breakup works as
advertised. Thanks.
Jeff
wd4nmq
DJ Delorie wrote:
> Fixed. The problem wasn't that the pads disappeared, they were
> created on the wrong layer. I checked in the attached patch, give it
> a try.
>
> Index: buffer.c
> ===================================================================
> RCS file: /cvsroot/pcb/pcb/src/buffer.c,v
> retrieving revision 1.45
> diff -p -U3 -r1.45 buffer.c
> --- buffer.c 4 Jan 2008 20:37:18 -0000 1.45
> +++ buffer.c 30 Sep 2008 02:15:56 -0000
> @@ -591,7 +591,7 @@ SmashBufferElement (BufferTypePtr Buffer
> {
> ElementTypePtr element;
> Cardinal group;
> - LayerTypePtr layer;
> + LayerTypePtr clayer, slayer;
>
> if (Buffer->Data->ElementN != 1)
> {
> @@ -634,11 +634,17 @@ SmashBufferElement (BufferTypePtr Buffer
> GetLayerGroupNumberByNumber (max_layer +
> (SWAP_IDENT ? SOLDER_LAYER :
> COMPONENT_LAYER));
> - layer = &Buffer->Data->Layer[PCB->LayerGroups.Entries[group][0]];
> + clayer = &Buffer->Data->Layer[PCB->LayerGroups.Entries[group][0]];
> + group =
> + GetLayerGroupNumberByNumber (max_layer +
> + (SWAP_IDENT ? COMPONENT_LAYER :
> + SOLDER_LAYER));
> + slayer = &Buffer->Data->Layer[PCB->LayerGroups.Entries[group][0]];
> PAD_LOOP (element);
> {
> LineTypePtr line;
> - line = CreateNewLineOnLayer (layer, pad->Point1.X, pad->Point1.Y,
> + line = CreateNewLineOnLayer (TEST_FLAG (ONSOLDERFLAG, pad) ? slayer : clayer,
> + pad->Point1.X, pad->Point1.Y,
> pad->Point2.X, pad->Point2.Y,
> pad->Thickness, pad->Clearance, NoFlags ());
> if (line)
>
>
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
>
>
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user