[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: WARNING: Group move is corrupting data



On Sun, Nov 11, 2007 at 04:03:47PM -0800, Ben Jackson wrote:
> 
> More specifically, it's the RemoveSelected() step, so just selecting
> several elements and hitting 'delete' causes the problem...

Ok, the high level summary is that this particular bug was introduced
on 9/8 and made it into the 9/12 snapshot.  I just committed a fix.

On 9/8 I committed version 1.41 of buffer.c, which fixed bugs with
group move/delete and other buffer operations over polygons.  The code
needs to do 3 steps:  1) remove element from source (including
restoring polygons), 2) move element *to* dest and 3) fix the hole made
in the source element list by moving the last element (otherwise unrelated
to the operation at hand).

The original code accidentally combined parts of steps 2 and 3 (which
was incorrect).  In version 1.41 I changed the broken (2)+(3) code and
made it do (2) correctly, but left out the overlapping (3) code (in my
defense, the original code said "for every pin/pad in this element which
has nothing to do with this operation except for filling a gap left
in the element list, made a hole in any polygons in the buffer we just
moved the other element to (oh, and update a pointer, which turns out
to make sense)").

-- 
Ben Jackson AD7GD
<ben@xxxxxxx>
http://www.ben.com/


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user