Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 29432) +++ trunk/src/obj_arc.c (revision 29433) @@ -1044,9 +1044,9 @@ if (layer == NULL) /* if the layer is inbound, e.g. in preview, fall back using the layer recipe */ layer = arc->parent.layer; - if (PCB_FLAG_TEST(PCB_FLAG_WARN, arc)) + if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_WARN, arc)) color = &conf_core.appearance.color.warn; - else if (PCB_FLAG_TEST(PCB_FLAG_SELECTED | PCB_FLAG_FOUND, arc)) { + else if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_SELECTED | PCB_FLAG_FOUND, arc)) { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, arc)) { if (layer->is_bound) PCB_OBJ_COLOR_ON_BOUND_LAYER(color, layer, 1); @@ -1064,7 +1064,7 @@ else color = &layer->meta.real.color; - if (PCB_FLAG_TEST(PCB_FLAG_ONPOINT, arc)) { + if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_ONPOINT, arc)) { pcb_lighten_color(color, &buf, 1.75); color = &buf; } Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 29432) +++ trunk/src/obj_line.c (revision 29433) @@ -1158,9 +1158,9 @@ if (layer == NULL) /* if the layer is inbound, e.g. in preview, fall back using the layer recipe */ layer = line->parent.layer; - if (PCB_FLAG_TEST(PCB_FLAG_WARN, line)) + if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_WARN, line)) color = &conf_core.appearance.color.warn; - else if (PCB_FLAG_TEST(PCB_FLAG_SELECTED | PCB_FLAG_FOUND, line)) { + else if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_SELECTED | PCB_FLAG_FOUND, line)) { if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, line)) { if (layer->is_bound) PCB_OBJ_COLOR_ON_BOUND_LAYER(color, layer, 1); @@ -1178,7 +1178,7 @@ else color = &layer->meta.real.color; - if (PCB_FLAG_TEST(PCB_FLAG_ONPOINT, line)) { + if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_ONPOINT, line)) { pcb_lighten_color(color, &buf, 1.75); color = &buf; } Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 29432) +++ trunk/src/obj_poly.c (revision 29433) @@ -1277,17 +1277,17 @@ if (layer == NULL) /* if the layer is inbound, e.g. in preview, fall back using the layer recipe */ layer = polygon->parent.layer; - if (PCB_FLAG_TEST(PCB_FLAG_WARN, polygon)) + if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_WARN, polygon)) color = &conf_core.appearance.color.warn; - else if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, polygon)) { + else if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_SELECTED, polygon)) { if (layer->is_bound) PCB_OBJ_COLOR_ON_BOUND_LAYER(color, layer, 1); else color = &conf_core.appearance.color.selected; } - else if (PCB_FLAG_TEST(PCB_FLAG_FOUND, polygon)) + else if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_FOUND, polygon)) color = &conf_core.appearance.color.connected; - else if (PCB_FLAG_TEST(PCB_FLAG_ONPOINT, polygon)) { + else if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_ONPOINT, polygon)) { pcb_lighten_color(color, &buf, 1.75); color = &buf; } Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 29432) +++ trunk/src/obj_text.c (revision 29433) @@ -1344,7 +1344,7 @@ if (layer == NULL) /* if the layer is inbound, e.g. in preview, fall back using the layer recipe */ layer = text->parent.layer; - if (PCB_FLAG_TEST(PCB_FLAG_SELECTED, text)) { + if (info->xform->flag_color && PCB_FLAG_TEST(PCB_FLAG_SELECTED, text)) { if (layer->is_bound) { const pcb_color_t *color; PCB_OBJ_COLOR_ON_BOUND_LAYER(color, layer, 1); @@ -1353,7 +1353,7 @@ else pcb_render->set_color(pcb_draw_out.fgGC, &conf_core.appearance.color.selected); } - else if (PCB_HAS_COLOROVERRIDE(text)) { + else if (info->xform->flag_color && PCB_HAS_COLOROVERRIDE(text)) { pcb_render->set_color(pcb_draw_out.fgGC, text->override_color); } else if (layer->is_bound) {