Index: trunk/src/draw_ly_spec.c =================================================================== --- trunk/src/draw_ly_spec.c (revision 27878) +++ trunk/src/draw_ly_spec.c (revision 27879) @@ -142,7 +142,16 @@ return; for(n = 0; n < len; n++) { - if (!info->pcb->LayerGroups.grp[gid[n]].vis) + pcb_layergrp_t *grp = &info->pcb->LayerGroups.grp[gid[n]]; + pcb_layer_t *ly = NULL; + + /* workaround: in direct export group visibility is not really set + but layer visibility is set; if they are contradicting, it's enough + if either is set. Assume all layers are visible or invisible within + a group, so depend only on the first layer */ + if (grp->len > 0) + ly = pcb_get_layer(info->pcb->Data, grp->lid[0]); + if ((!grp->vis) && ((ly == NULL) || (!ly->meta.real.vis))) continue; if (setgrp)