Index: trunk/src/draw.h =================================================================== --- trunk/src/draw.h (revision 10966) +++ trunk/src/draw.h (revision 10967) @@ -122,4 +122,8 @@ on top of everything. */ void pcb_draw_delay_label_add(pcb_any_obj_t *obj); +/* Return non-zero if extra terminal graphics should be drawn */ +#define pcb_draw_term_need_gfx(obj) \ + (((obj)->term != NULL) && !PCB_FLAG_TEST(PCB_FLAG_FOUND, (obj)) && !PCB_FLAG_TEST(PCB_FLAG_WARN, (obj)) && !PCB_FLAG_TEST(PCB_FLAG_SELECTED, (obj))) + #endif Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 10966) +++ trunk/src/obj_arc.c (revision 10967) @@ -800,7 +800,7 @@ if (!conf_core.editor.thin_draw) { - if ((arc->term != NULL) && (allow_term_gfx) && !PCB_FLAG_TEST(PCB_FLAG_FOUND, arc) && !PCB_FLAG_TEST(PCB_FLAG_WARN, arc) && !PCB_FLAG_TEST(PCB_FLAG_SELECTED, arc)) { + if ((allow_term_gfx) && pcb_draw_term_need_gfx(arc)) { pcb_gui->set_line_width(Output.active_padGC, arc->Thickness); pcb_gui->draw_arc(Output.active_padGC, arc->X, arc->Y, arc->Width, arc->Height, arc->StartAngle, arc->Delta); pcb_gui->set_line_width(Output.fgGC, arc->Thickness/4); Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 10966) +++ trunk/src/obj_line.c (revision 10967) @@ -928,7 +928,7 @@ PCB_DRAW_BBOX(line); pcb_gui->set_line_cap(Output.fgGC, Trace_Cap); if (!conf_core.editor.thin_draw) { - if ((line->term != NULL) && (allow_term_gfx) && !PCB_FLAG_TEST(PCB_FLAG_FOUND, line) && !PCB_FLAG_TEST(PCB_FLAG_WARN, line) && !PCB_FLAG_TEST(PCB_FLAG_SELECTED, line)) { + if ((allow_term_gfx) && pcb_draw_term_need_gfx(line)) { pcb_gui->set_line_width(Output.active_padGC, line->Thickness); pcb_gui->draw_line(Output.active_padGC, line->Point1.X, line->Point1.Y, line->Point2.X, line->Point2.Y); pcb_gui->set_line_width(Output.fgGC, line->Thickness/4); Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 10966) +++ trunk/src/obj_poly.c (revision 10967) @@ -855,7 +855,7 @@ pcb_gui->thindraw_pcb_polygon(Output.fgGC, polygon, drawn_area); } else { - if ((polygon->term != NULL) && (allow_term_gfx) && !PCB_FLAG_TEST(PCB_FLAG_FOUND, polygon) && !PCB_FLAG_TEST(PCB_FLAG_WARN, polygon) && !PCB_FLAG_TEST(PCB_FLAG_SELECTED, polygon)) { + if ((allow_term_gfx) && pcb_draw_term_need_gfx(polygon)) { pcb_vnode_t *n, *head; int i;