Index: trunk/src/draw_composite.c =================================================================== --- trunk/src/draw_composite.c (revision 8430) +++ trunk/src/draw_composite.c (revision 8431) @@ -31,6 +31,7 @@ pcb_board_t *pcb; const pcb_box_t *screen; pcb_layer_group_t *grp; + const char *color; unsigned thin:1; unsigned invert:1; @@ -45,7 +46,7 @@ return; pcb_gui->use_mask(mask_type); - pcb_gui->set_color(Output.fgGC, conf_core.appearance.color.mask); + pcb_gui->set_color(Output.fgGC, ctx->color); if (ctx->screen == NULL) pcb_gui->fill_rect(Output.fgGC, 0, 0, ctx->pcb->MaxWidth, ctx->pcb->MaxHeight); else @@ -55,7 +56,7 @@ static void comp_start_sub_(comp_ctx_t *ctx) { if (ctx->thin) - pcb_gui->set_color(Output.pmGC, conf_core.appearance.color.mask); + pcb_gui->set_color(Output.pmGC, ctx->color); else pcb_gui->use_mask(HID_MASK_CLEAR); } @@ -139,7 +140,7 @@ pcb_hid_gc_t old_fg = Output.fgGC; Output.fgGC = Output.pmGC; if (!ctx->thin) - l->Color = conf_core.appearance.color.mask; + l->Color = ctx->color; if (!want_add) l->Color = "erase"; pcb_draw_layer(l, ctx->screen); Index: trunk/src/draw_ly_spec.c =================================================================== --- trunk/src/draw_ly_spec.c (revision 8430) +++ trunk/src/draw_ly_spec.c (revision 8431) @@ -46,6 +46,7 @@ cctx.pcb = PCB; cctx.screen = drawn_area; cctx.grp = pcb_get_layergrp(PCB, gid); + cctx.color = conf_core.appearance.color.paste; cctx.thin = conf_core.editor.thin_draw || conf_core.editor.thin_draw_poly; cctx.invert = 0; cctx.poly_before = pcb_gui->poly_before; @@ -79,6 +80,7 @@ cctx.pcb = PCB; cctx.screen = screen; cctx.grp = pcb_get_layergrp(PCB, gid); + cctx.color = conf_core.appearance.color.mask; cctx.thin = conf_core.editor.thin_draw || conf_core.editor.thin_draw_poly; cctx.invert = pcb_gui->mask_invert; cctx.poly_before = pcb_gui->poly_before;