Index: trunk/src/find.h =================================================================== --- trunk/src/find.h (revision 30850) +++ trunk/src/find.h (revision 30851) @@ -46,6 +46,7 @@ /* low level (will work with isc calls): */ pcb_coord_t bloat; /* perform intersection tests with one object bloated up by this amount (can be negative for shrinking) */ unsigned ignore_clearance:1; /* a flag dictated clearance is no excuse for intersection - useful for overlap calculation between objects on different layers */ + unsigned allow_noncopper_pstk:1;/* when 1, even non-copper shapes of padstacks will "conduct" in a pstk-pstk check (useful for the drc) */ /* high level (ignored by isc calls): */ unsigned stay_layergrp:1; /* do not leave the layer (no padstack hop) */ Index: trunk/src/find_geo.c =================================================================== --- trunk/src/find_geo.c (revision 30850) +++ trunk/src/find_geo.c (revision 30851) @@ -1218,7 +1218,7 @@ pcb_pstk_shape_t *shape2, *slshape2 = NULL, sltmp2; pcb_layer_type_t lyt = pcb_layer_flags_(ly); - if (!(lyt & PCB_LYT_COPPER)) /* consider only copper for connections */ + if (!ctx->allow_noncopper_pstk && !(lyt & PCB_LYT_COPPER)) /* consider only copper for connections */ continue; shape1 = pcb_pstk_shape_at(PCB, ps1, ly);