Index: trunk/src/select.c =================================================================== --- trunk/src/select.c (revision 6284) +++ trunk/src/select.c (revision 6285) @@ -298,12 +298,13 @@ /* check layers */ LAYER_LOOP(PCB->Data, pcb_max_layer); { -#warning layer TODO: replace this with flag checks - if (layer == &PCB->Data->SILKLAYER) { + unsigned int lflg = pcb_layer_flags(layer); + + if ((lflg & PCB_LYT_SILK) && (PCB_LAYERFLG_ON_VISIBLE_SIDE(lflg))) { if (!(PCB->ElementOn || !Flag)) continue; } - else if (layer == &PCB->Data->BACKSILKLAYER) { + else if ((lflg & PCB_LYT_SILK) && !(PCB_LAYERFLG_ON_VISIBLE_SIDE(lflg))) { if (!(PCB->InvisibleObjectsOn || !Flag)) continue; }