Index: trunk/src/layer_grp.c =================================================================== --- trunk/src/layer_grp.c (revision 19178) +++ trunk/src/layer_grp.c (revision 19179) @@ -176,6 +176,17 @@ return pcb_true; } +pcb_bool pcb_layergrp_is_empty_pure(pcb_board_t *pcb, pcb_layergrp_id_t num) +{ + int i; + pcb_layergrp_t *g = &pcb->LayerGroups.grp[num]; + + for (i = 0; i < g->len; i++) + if (!pcb_layer_is_pure_empty(pcb_get_layer(pcb->Data, g->lid[i]))) + return pcb_false; + return pcb_true; +} + static void pcb_layergrp_free_fields(pcb_layergrp_t *g) { free(g->name); Index: trunk/src/layer_grp.h =================================================================== --- trunk/src/layer_grp.h (revision 19178) +++ trunk/src/layer_grp.h (revision 19179) @@ -91,6 +91,7 @@ /* Returns pcb_true if all layers in a group are empty */ pcb_bool pcb_layergrp_is_empty(pcb_board_t *pcb, pcb_layergrp_id_t lgrp); +pcb_bool pcb_layergrp_is_pure_empty(pcb_board_t *pcb, pcb_layergrp_id_t num); /* call the gui to set a layer group */ int pcb_layer_gui_set_glayer(pcb_board_t *pcb, pcb_layergrp_id_t grp, int is_empty);