Index: trunk/src/layer_grp.c =================================================================== --- trunk/src/layer_grp.c (revision 28229) +++ trunk/src/layer_grp.c (revision 28230) @@ -1143,7 +1143,7 @@ grp->valid = 1; } -void pcb_layergrp_upgrade_to_pstk(pcb_board_t *pcb) +void pcb_layergrp_upgrade_by_map(pcb_board_t *pcb, const pcb_dflgmap_t *map) { const pcb_dflgmap_t *m; pcb_layergrp_t *grp; @@ -1150,7 +1150,7 @@ pcb_layergrp_id_t gid; inhibit_notify++; - for(m = pcb_dflgmap; m->name != NULL; m++) { + for(m = map; m->name != NULL; m++) { int found; if (m->purpose == NULL) found = pcb_layergrp_list(pcb, m->lyt, &gid, 1); @@ -1169,6 +1169,10 @@ NOTIFY(pcb); } +void pcb_layergrp_upgrade_to_pstk(pcb_board_t *pcb) +{ + pcb_layergrp_upgrade_by_map(pcb, pcb_dflgmap); +} static pcb_layergrp_id_t pcb_layergrp_get_cached(pcb_board_t *pcb, pcb_layer_id_t *cache, unsigned int loc, unsigned int typ) { Index: trunk/src/layer_grp.h =================================================================== --- trunk/src/layer_grp.h (revision 28229) +++ trunk/src/layer_grp.h (revision 28230) @@ -278,6 +278,8 @@ extern const pcb_dflgmap_t pcb_dflg_bot_copper; extern const pcb_dflgmap_t pcb_dflg_outline; +/* Overwrite or create all groups from a map */ +void pcb_layergrp_upgrade_by_map(pcb_board_t *pcb, const pcb_dflgmap_t *map); /* Overwrite an existing group from a default layer group map entry and create a layer in the group */