Index: trunk/doc/TODO =================================================================== --- trunk/doc/TODO (revision 11070) +++ trunk/doc/TODO (revision 11071) @@ -80,7 +80,7 @@ - namespace renames: - GetObjectBoundingBox - new hid render: - - BUG: Silk layer groups with only a single layer and via virtual layer do not receive a call to 'set_drawing_mode'. Maybe paste,mask and other virtual layers also. [report:Ade] + + BUG: Silk layer groups with only a single layer and via virtual layer do not receive a call to 'set_drawing_mode'. Maybe paste,mask and other virtual layers also. [report:Ade] - "erase" color: - hid->fill_pcb_pv() -> not used by any HID - pcb_pad_clear_callback() -> hopefully drawn on negative mask only (check this) Index: trunk/src/draw_ly_spec.c =================================================================== --- trunk/src/draw_ly_spec.c (revision 11070) +++ trunk/src/draw_ly_spec.c (revision 11071) @@ -133,8 +133,12 @@ if ((cctx.grp == NULL) || (cctx.grp->len < 2) || /* fallback: no layers -> original code: draw auto+manual */ (((cctx.grp->len == 1)) && ((PCB->Data->Layer[lid].comb & (PCB_LYC_AUTO | PCB_LYC_SUB)) == PCB_LYC_AUTO))) { /* fallback: one positive auto layer -> original code: draw auto+manual */ + + pcb_gui->set_drawing_mode(PCB_HID_COMP_RESET, Output.direct, cctx.screen); + pcb_gui->set_drawing_mode(PCB_HID_COMP_POSITIVE, Output.direct, cctx.screen); pcb_draw_layer(LAYER_PTR(lid), cctx.screen); pcb_draw_silk_auto(&cctx, &lyt_side); + pcb_gui->set_drawing_mode(PCB_HID_COMP_FLUSH, Output.direct, cctx.screen); } else { comp_draw_layer(&cctx, pcb_draw_silk_auto, &lyt_side);