Index: trunk/src/flag.h =================================================================== --- trunk/src/flag.h (revision 32941) +++ trunk/src/flag.h (revision 32942) @@ -85,13 +85,13 @@ PCB_FLAG_VISIT = 0x08000, /* marker to avoid re-visiting an object */ PCB_FLAG_NONETLIST = 0x10000, /* object is not part of the netlist, don't warn for netlist issues */ PCB_FLAG_MINCUT = 0x20000, /* used by the mincut short find code */ - PCB_FLAG_ONPOINT = 0x40000, /* crosshair is on line point or arc point */ +/* unused = 0x40000, */ PCB_FLAG_TERMNAME = 0x80000, /* show terminal name of the object */ PCB_FLAG_DRC_INTCONN = 0x100000,/* Set for objects are put on the DRC mark because of an intconn */ PCB_FLAG_CLEARPOLYPOLY= 0x200000,/* polygon clearning other polygons */ PCB_FLAG_DYNTEXT = 0x400000,/* templated text */ PCB_FLAG_FLOATER = 0x800000 /* object ignores subc lock */ -/* PCB_FLAG_NOCOPY = (PCB_FLAG_FOUND | CONNECTEDFLAG | PCB_FLAG_ONPOINT)*/ +/* PCB_FLAG_NOCOPY = (PCB_FLAG_FOUND | CONNECTEDFLAG)*/ } pcb_flag_values_t; #define PCB_FLAGS 0x01ffffff /* all used flags */ Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 32941) +++ trunk/src/obj_arc.c (revision 32942) @@ -1147,7 +1147,7 @@ else color = &layer->meta.real.color; - if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_ONPOINT, arc)) { + if (info->xform->flag_color && arc->ind_onpoint) { pcb_lighten_color(color, &buf, 1.75); color = &buf; } Index: trunk/src/obj_common.h =================================================================== --- trunk/src/obj_common.h (revision 32941) +++ trunk/src/obj_common.h (revision 32942) @@ -223,6 +223,7 @@ pcb_parenttype_t parent_type; \ pcb_parent_t parent; \ rnd_box_t bbox_naked; \ + unsigned ind_onpoint:1; \ pcb_attribute_list_t Attributes \ #define PCB_ANY_PRIMITIVE_FIELDS \ Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 32941) +++ trunk/src/obj_line.c (revision 32942) @@ -1448,7 +1448,7 @@ else color = &layer->meta.real.color; - if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_ONPOINT, line)) { + if (info->xform->flag_color && line->ind_onpoint) { pcb_lighten_color(color, &buf, 1.75); color = &buf; } Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 32941) +++ trunk/src/obj_poly.c (revision 32942) @@ -1478,7 +1478,7 @@ } else if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_FOUND, polygon)) color = &conf_core.appearance.color.connected; - else if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_ONPOINT, polygon)) { + else if (info->xform->flag_color && polygon->ind_onpoint) { pcb_lighten_color(color, &buf, 1.75); color = &buf; } Index: trunk/src/obj_pstk.c =================================================================== --- trunk/src/obj_pstk.c (revision 32941) +++ trunk/src/obj_pstk.c (revision 32942) @@ -365,7 +365,7 @@ else color = &conf_core.appearance.color.connected; - if (PCB_FLAG_TEST(PCB_FLAG_ONPOINT, ps)) { + if (ps->ind_onpoint) { pcb_lighten_color(color, &buf, 1.75); color = &buf; } @@ -391,7 +391,7 @@ else color = &conf_core.appearance.color.connected; - if (PCB_FLAG_TEST(PCB_FLAG_ONPOINT, ps)) { + if (ps->ind_onpoint) { pcb_lighten_color(color, &buf, 1.75); color = &buf; } Index: trunk/src_plugins/ch_onpoint/ch_onpoint.c =================================================================== --- trunk/src_plugins/ch_onpoint/ch_onpoint.c (revision 32941) +++ trunk/src_plugins/ch_onpoint/ch_onpoint.c (revision 32942) @@ -67,7 +67,7 @@ #endif if ((line->Point1.X == info->X && line->Point1.Y == info->Y) || (line->Point2.X == info->X && line->Point2.Y == info->Y)) { vtp0_append(&onpoint_objs, line); - PCB_FLAG_SET(PCB_FLAG_ONPOINT, (pcb_any_obj_t *)line); + line->ind_onpoint = 1; pcb_line_invalidate_draw(NULL, line); return RND_R_DIR_FOUND_CONTINUE; } @@ -93,7 +93,7 @@ if ((close_enough(p1x, info->X) && close_enough(p1y, info->Y)) || (close_enough(p2x, info->X) && close_enough(p2y, info->Y))) { vtp0_append(&onpoint_objs, arc); - PCB_FLAG_SET(PCB_FLAG_ONPOINT, (pcb_any_obj_t *)arc); + arc->ind_onpoint = 1; pcb_arc_invalidate_draw(NULL, arc); return RND_R_DIR_FOUND_CONTINUE; } @@ -168,7 +168,7 @@ if (onpoint_find(&onpoint_objs, op) != NULL) continue; - PCB_FLAG_CLEAR(PCB_FLAG_ONPOINT, op); + op->ind_onpoint = 0; draw_line_or_arc(op); redraw = rnd_true; }