Index: trunk/src/layer.h =================================================================== --- trunk/src/layer.h (revision 19012) +++ trunk/src/layer.h (revision 19013) @@ -92,7 +92,7 @@ PCB_LYC_AUTO = 2 /* bit 1 is 0 for manual drawn layer or 1 for side-effect objects from padstacks; this is how the user controls on which composite mask/paste layer padstack side effects should appear */ } pcb_layer_combining_t; -#define PCB_LAYER_IN_STACK(lyt) (((lyt) & PCB_LYT_COPPER) || ((lyt) & PCB_LYT_SILK) || ((lyt) & PCB_LYT_MASK) || ((lyt) & PCB_LYT_PASTE)) +#define PCB_LAYER_IN_STACK(lyt) (((lyt) & PCB_LYT_COPPER) || ((lyt) & PCB_LYT_SILK) || ((lyt) & PCB_LYT_MASK) || ((lyt) & PCB_LYT_PASTE) || ((lyt) & PCB_LYT_SUBSTRATE)) #include "globalconst.h" Index: trunk/src_plugins/lib_gtk_common/wt_layersel.c =================================================================== --- trunk/src_plugins/lib_gtk_common/wt_layersel.c (revision 19012) +++ trunk/src_plugins/lib_gtk_common/wt_layersel.c (revision 19013) @@ -570,7 +570,7 @@ /* first section: editable layer groups participating in the layer stack */ for(gid = 0; gid < pcb_max_group(PCB); gid++) { pcb_layergrp_t *g = &PCB->LayerGroups.grp[gid]; - if (!(PCB_LAYER_IN_STACK(g->ltype))) + if (!(PCB_LAYER_IN_STACK(g->ltype)) || (g->ltype & PCB_LYT_SUBSTRATE)) continue; printf("in-stack: %s\n", g->name); gtk_box_pack_start(GTK_BOX(ls->grp_box), build_group_real(ls, &ls->grp[gid], g), FALSE, FALSE, 0); @@ -581,7 +581,7 @@ /* second section: editable layer groups not being part of the stack */ for(gid = 0; gid < pcb_max_group(PCB); gid++) { pcb_layergrp_t *g = &PCB->LayerGroups.grp[gid]; - if ((PCB_LAYER_IN_STACK(g->ltype)) || (g->ltype & PCB_LYT_SUBSTRATE)) + if (PCB_LAYER_IN_STACK(g->ltype)) continue; gtk_box_pack_start(GTK_BOX(ls->grp_box), build_group_real(ls, &ls->grp[gid], g), FALSE, FALSE, 0); }