Andrew Poelstra: > On Wed, Aug 10, 2011 at 01:07:48PM -0700, Colin D Bennett wrote: ... > > OK, I have noticed one bug. If I draw some lines on a copper layer, > > two strange things occur: > > > > (1) When I click on a line, it becomes highlighted and is selected. If > > I then click another line, it is also highlighted, but the first line > > remains highlighted as well. Every line clicked adds to the set of > > highlighted lines. I can, however, deselect a line by Shift-clicking > > it. > > > > (2) If I click and drag a *non-selected* line, I can move it OK. > > However, if I try to drag one or more selected lines, they vanish. > > > > Both fixed in pcb-andrew. > > The fix was to change LARGE_VALUE from a hard-coded value to > (LONG_MAX / 2 - 1), which ensures that a box with extents > > (-LARGE_VALUE, -LARGE_VALUE) -- (LARGE_VALUE, LARGE_VALUE) > > can be handled cleanly in Coord units.
It seems to work after this patch also: /// diff --git a/globalconst.h b/globalconst.h index 6599823..12c0592 100755 --- a/globalconst.h +++ b/globalconst.h @@ -60,7 +60,7 @@ /* --------------------------------------------------------------------------- * some limit specifications */ -#define LARGE_VALUE (LONG_MAX / 2 - 1) /* maximum extent of board and elements */ +#define LARGE_VALUE LONG_MAX /* (LONG_MAX / 2 - 1) maximum extent of board and elements */ #define MAX_LAYER 16 /* max number of layer, check source */ /* code for more changes, a *lot* more changes */ /// A Coord is a typedef for long, and a long is signed type. Its range is LONG_MIN to LONG_MAX, where $ grep -- -LONG_MAX /usr/include/limits.h # define LONG_MIN (-LONG_MAX - 1L) on a typical 2's complement machine. Why do you want to use only half the range? Hälsningar, /Karl Hammar ----------------------------------------------------------------------- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sverige 0173 140 57 _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user