Index: pcb_draw.c =================================================================== --- pcb_draw.c (revision 7400) +++ pcb_draw.c (revision 7401) @@ -4,7 +4,17 @@ static void draw_thick_line(image_t * dst, int x1, int y1, int x2, int y2, double vx, double vy, double nx, double ny, int th) { - double x, y; + double x, y, ymin, ymax; + + if (y1 <= y2) { + ymin = y1; + ymax = y2; + } + else { + ymin = y2; + ymax = y1; + } + x = x1; y = y1; for(;;) { @@ -23,8 +33,10 @@ x += vx/2.0; y += vy/2.0; - if ((x > x2) || (y > y2)) + if (x > x2) break; + if ((y > ymax) || (y < ymin)) + break; } return;