Index: trunk/src/find_lookup.c =================================================================== --- trunk/src/find_lookup.c (revision 19716) +++ trunk/src/find_lookup.c (revision 19717) @@ -261,20 +261,11 @@ jmp_buf env; }; -#define SKIP_IF_CUT(o1, o2, action) \ - if (((o1)->intcut) || ((o2)->intcut)) { \ - if (pcb_obj_parent_subc((pcb_any_obj_t *)o1) == pcb_obj_parent_subc((pcb_any_obj_t *)o2)) { \ - action; \ - } \ - } \ - static pcb_r_dir_t LOCtoPSline_callback(const pcb_box_t * b, void *cl) { pcb_line_t *line = (pcb_line_t *) b; struct ps_info *i = (struct ps_info *) cl; - SKIP_IF_CUT(&i->ps, line, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, line) && pcb_pstk_intersect_line(&i->ps, line) && !INOCN(&i->ps, line)) { if (ADD_LINE_TO_LIST(i->layer, line, PCB_OBJ_PSTK, &i->ps, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -287,8 +278,6 @@ pcb_arc_t *arc = (pcb_arc_t *) b; struct ps_info *i = (struct ps_info *) cl; - SKIP_IF_CUT(&i->ps, arc, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, arc) && pcb_pstk_intersect_arc(&i->ps, arc) && !INOCN(&i->ps, arc)) { if (ADD_ARC_TO_LIST(i->layer, arc, PCB_OBJ_PSTK, &i->ps, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -311,8 +300,6 @@ pcb_poly_t *polygon = (pcb_poly_t *) b; struct ps_info *i = (struct ps_info *) cl; - SKIP_IF_CUT(&i->ps, polygon, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, polygon) && pcb_pstk_intersect_poly(&i->ps, polygon) && !INOCN(&i->ps, polygon)) { if (ADD_POLYGON_TO_LIST(i->layer, polygon, PCB_OBJ_PSTK, &i->ps, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -326,8 +313,6 @@ pcb_pstk_t *ps2 = (pcb_pstk_t *)b; struct ps_info *i = (struct ps_info *)cl; - SKIP_IF_CUT(&i->ps, ps2, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, ps2) && pcb_pstk_intersect_pstk(&i->ps, ps2) && !INOCN(&i->ps, ps2)) { if (ADD_PADSTACK_TO_LIST(ps2, PCB_OBJ_PSTK, &i->ps, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -481,8 +466,6 @@ pcb_pstk_t *ps = (pcb_pstk_t *) b; struct lo_info *i = (struct lo_info *) cl; - SKIP_IF_CUT(ps, &i->line, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, ps) && pcb_pstk_intersect_line(ps, &i->line) && !INOCN(ps, &i->line)) { if (ADD_PS_TO_LIST(ps, PCB_OBJ_LINE, &i->line, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -495,8 +478,6 @@ pcb_pstk_t *ps = (pcb_pstk_t *) b; struct lo_info *i = (struct lo_info *) cl; - SKIP_IF_CUT(ps, &i->arc, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, ps) && pcb_pstk_intersect_arc(ps, &i->arc) && !INOCN(ps, &i->arc)) { if (ADD_PS_TO_LIST(ps, PCB_OBJ_ARC, &i->arc, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -509,8 +490,6 @@ pcb_pstk_t *ps = (pcb_pstk_t *) b; struct lo_info *i = (struct lo_info *) cl; - SKIP_IF_CUT(ps, &i->polygon, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, ps) && pcb_pstk_intersect_poly(ps, &i->polygon) && !INOCN(ps, &i->polygon)) { if (ADD_PS_TO_LIST(ps, PCB_OBJ_POLY, &i->polygon, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -626,8 +605,6 @@ pcb_line_t *line = (pcb_line_t *) b; struct lo_info *i = (struct lo_info *) cl; - SKIP_IF_CUT(line, &i->arc, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, line) && pcb_intersect_line_arc(line, &i->arc) && !INOCN(line, &i->arc)) { if (ADD_LINE_TO_LIST(i->layer, line, PCB_OBJ_ARC, &i->arc, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -640,8 +617,6 @@ pcb_arc_t *arc = (pcb_arc_t *) b; struct lo_info *i = (struct lo_info *) cl; - SKIP_IF_CUT(&i->arc, arc, return PCB_R_DIR_NOT_FOUND); - if (!arc->Thickness) return 0; if (!PCB_FLAG_TEST(TheFlag, arc) && ArcArcIntersect(&i->arc, arc) && !INOCN(&i->arc, arc)) { @@ -718,7 +693,6 @@ pcb_box_t *b; for(b = pcb_r_first(PCB->Data->Layer[layer].polygon_tree, &it); b != NULL; b = pcb_r_next(&it)) { pcb_poly_t *polygon = (pcb_poly_t *)b; - SKIP_IF_CUT(polygon, Arc, continue); if (!PCB_FLAG_TEST(TheFlag, polygon) && pcb_is_arc_in_poly(Arc, polygon) && ADD_POLYGON_TO_LIST(layer, polygon, PCB_OBJ_ARC, Arc, PCB_FCT_COPPER)) return pcb_true; @@ -735,8 +709,6 @@ pcb_line_t *line = (pcb_line_t *) b; struct lo_info *i = (struct lo_info *) cl; - SKIP_IF_CUT(&i->line, line, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, line) && pcb_intersect_line_line(&i->line, line) && !INOCN(&i->line, line)) { if (ADD_LINE_TO_LIST(i->layer, line, PCB_OBJ_LINE, &i->line, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -751,9 +723,6 @@ if (!arc->Thickness) return 0; - - SKIP_IF_CUT(&i->line, arc, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, arc) && pcb_intersect_line_arc(&i->line, arc) && !INOCN(&i->line, arc)) { if (ADD_ARC_TO_LIST(i->layer, arc, PCB_OBJ_LINE, &i->line, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -823,7 +792,6 @@ pcb_box_t *b; for(b = pcb_r_first(PCB->Data->Layer[layer].polygon_tree, &it); b != NULL; b = pcb_r_next(&it)) { pcb_poly_t *polygon = (pcb_poly_t *)b; - SKIP_IF_CUT(polygon, Line, continue); if (!PCB_FLAG_TEST(TheFlag, polygon) && pcb_is_line_in_poly(Line, polygon) && ADD_POLYGON_TO_LIST(layer, polygon, PCB_OBJ_LINE, Line, PCB_FCT_COPPER)) return pcb_true; @@ -915,8 +883,6 @@ pcb_line_t *line = (pcb_line_t *) b; struct lo_info *i = (struct lo_info *) cl; - SKIP_IF_CUT(&i->polygon, line, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, line) && pcb_is_line_in_poly(line, &i->polygon) && !INOCN(line, &i->polygon)) { if (ADD_LINE_TO_LIST(i->layer, line, PCB_OBJ_POLY, &i->polygon, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -931,9 +897,6 @@ if (!arc->Thickness) return 0; - - SKIP_IF_CUT(&i->polygon, arc, return PCB_R_DIR_NOT_FOUND); - if (!PCB_FLAG_TEST(TheFlag, arc) && pcb_is_arc_in_poly(arc, &i->polygon) && !INOCN(arc, &i->polygon)) { if (ADD_ARC_TO_LIST(i->layer, arc, PCB_OBJ_POLY, &i->polygon, PCB_FCT_COPPER)) longjmp(i->env, 1); @@ -987,7 +950,6 @@ pcb_box_t *b; for(b = pcb_r_first(PCB->Data->Layer[layer].polygon_tree, &it); b != NULL; b = pcb_r_next(&it)) { pcb_poly_t *polygon = (pcb_poly_t *)b; - SKIP_IF_CUT(polygon, Polygon, continue); if (!PCB_FLAG_TEST(TheFlag, polygon) && pcb_is_poly_in_poly(polygon, Polygon) && ADD_POLYGON_TO_LIST(layer, polygon, PCB_OBJ_POLY, Polygon, PCB_FCT_COPPER)) Index: trunk/src/obj_common.c =================================================================== --- trunk/src/obj_common.c (revision 19716) +++ trunk/src/obj_common.c (revision 19717) @@ -144,8 +144,6 @@ } } -#define istrue(s) ((*(s) == '1') || (*(s) == 'y') || (*(s) == 'Y') || (*(s) == 't') || (*(s) == 'T')) - void pcb_obj_attrib_post_change(pcb_attribute_list_t *list, const char *name, const char *value) { pcb_any_obj_t *obj = (pcb_any_obj_t *)(((char *)list) - offsetof(pcb_any_obj_t, Attributes)); @@ -156,9 +154,6 @@ if (inv != NULL) pcb_message(PCB_MSG_ERROR, "Invalid character '%c' in terminal name (term attribute) '%s'\n", *inv, obj->term); } - else if (strcmp(name, "intcut") == 0) { - obj->intcut = istrue(value); - } else if (strcmp(name, "intconn") == 0) { long cid = 0; if (value != NULL) { Index: trunk/src/obj_common.h =================================================================== --- trunk/src/obj_common.h (revision 19716) +++ trunk/src/obj_common.h (revision 19717) @@ -182,7 +182,6 @@ void *ratconn; \ unsigned char thermal; \ unsigned char intconn, intnoconn; \ - unsigned intcut:1; \ char override_color[sizeof("#XXXXXX")] /* Lines, pads, and rats all use this so they can be cross-cast. */