Index: trunk/src/board.h =================================================================== --- trunk/src/board.h (revision 15069) +++ trunk/src/board.h (revision 15070) @@ -74,7 +74,7 @@ ViaOn, /* visibility flags */ RatOn, InvisibleObjectsOn, PinOn, RatDraw, /* we're drawing rats */ - SubcOn, SubcPartsOn, padstack_mark_on; + SubcOn, SubcPartsOn, padstack_mark_on, hole_on; pcb_bool loose_subc; /* when set, subc parts are not locked into the subc */ pcb_coord_t CursorX, /* cursor position as saved with layout */ CursorY; Index: trunk/src/draw.c =================================================================== --- trunk/src/draw.c (revision 15069) +++ trunk/src/draw.c (revision 15070) @@ -445,6 +445,10 @@ static void pcb_draw_pstk_holes(pcb_layergrp_id_t group, const pcb_box_t *drawn_area, pcb_pstk_draw_hole_t holetype) { pcb_pstk_draw_t ctx; + + if (!PCB->hole_on) + return; + ctx.pcb = PCB; ctx.gid = group; ctx.holetype = holetype; Index: trunk/src/layer_vis.c =================================================================== --- trunk/src/layer_vis.c (revision 15069) +++ trunk/src/layer_vis.c (revision 15070) @@ -151,6 +151,7 @@ PCB->SubcPartsOn = pcb_true; PCB->RatOn = pcb_true; PCB->padstack_mark_on = pcb_true; + PCB->hole_on = pcb_true; /* Bring the top copper group to the front and make it active. */ if (pcb_layer_list(PCB, PCB_LYT_TOP | PCB_LYT_COPPER, &comp, 1) > 0) Index: trunk/src/obj_subc.c =================================================================== --- trunk/src/obj_subc.c (revision 15069) +++ trunk/src/obj_subc.c (revision 15070) @@ -1749,7 +1749,8 @@ for(o = pcb_rtree_first(&it, sc->data->padstack_tree, (pcb_rtree_box_t *)drawn_area); o != NULL; o = pcb_rtree_next(&it)) { if (pcb_obj_is_under(o, sc->data)) { pcb_pstk_draw_callback((pcb_box_t *)o, &ctx); - pcb_pstk_draw_hole_callback((pcb_box_t *)o, &ctx); + if (PCB->hole_on) + pcb_pstk_draw_hole_callback((pcb_box_t *)o, &ctx); } }