Index: trunk/src/board.c =================================================================== --- trunk/src/board.c (revision 6175) +++ trunk/src/board.c (revision 6176) @@ -192,13 +192,13 @@ } #warning layer TODO: remove CLayer/SLayer overwrite when silk is no longer a virtual layer - if (pcb_layer_list(PCB_LYT_TOP & PCB_LYT_SILK, &CLayer, 1) > 0) { + if (pcb_layer_list(PCB_LYT_TOP | PCB_LYT_SILK, &CLayer, 1) > 0) { CLayer = (pcb_max_copper_layer + PCB_COMPONENT_SIDE); ptr->Data->Layer[CLayer].Color = conf_core.editor.show_solder_side ? conf_core.appearance.color.invisible_objects : conf_core.appearance.color.element; ptr->Data->Layer[CLayer].SelectedColor = conf_core.appearance.color.element_selected; } - if (pcb_layer_list(PCB_LYT_BOTTOM & PCB_LYT_SILK, &SLayer, 1) > 0) { + if (pcb_layer_list(PCB_LYT_BOTTOM | PCB_LYT_SILK, &SLayer, 1) > 0) { SLayer = (pcb_max_copper_layer + PCB_SOLDER_SIDE); ptr->Data->Layer[SLayer].Color = conf_core.editor.show_solder_side ? conf_core.appearance.color.element : conf_core.appearance.color.invisible_objects; ptr->Data->Layer[SLayer].SelectedColor = conf_core.appearance.color.element_selected; Index: trunk/src/crosshair.c =================================================================== --- trunk/src/crosshair.c (revision 6175) +++ trunk/src/crosshair.c (revision 6176) @@ -992,8 +992,8 @@ /* find layer groups of the component side and solder side */ SLayer = CLayer = -1; - pcb_layer_group_list(PCB_LYT_BOTTOM & PCB_LYT_COPPER, &SLayer, 1); - pcb_layer_group_list(PCB_LYT_TOP & PCB_LYT_COPPER, &CLayer, 1); + pcb_layer_group_list(PCB_LYT_BOTTOM | PCB_LYT_COPPER, &SLayer, 1); + pcb_layer_group_list(PCB_LYT_TOP | PCB_LYT_COPPER, &CLayer, 1); desired_group = PCB_FLAG_TEST(PCB_FLAG_ONSOLDER, pad) ? SLayer : CLayer; if (desired_group >= 0) { Index: trunk/src/draw.c =================================================================== --- trunk/src/draw.c (revision 6175) +++ trunk/src/draw.c (revision 6176) @@ -201,9 +201,8 @@ } solder = component = -1; - pcb_layer_group_list(PCB_LYT_BOTTOM & PCB_LYT_COPPER, &solder, 1); - pcb_layer_group_list(PCB_LYT_TOP & PCB_LYT_COPPER, &component, 1); - + pcb_layer_group_list(PCB_LYT_BOTTOM | PCB_LYT_SILK, &solder, 1); + pcb_layer_group_list(PCB_LYT_TOP | PCB_LYT_SILK, &component, 1); /* * first draw all 'invisible' stuff */ @@ -329,8 +328,8 @@ pcb_layergrp_id_t component_group = -1, solder_group = -1; int side; - pcb_layer_group_list(PCB_LYT_BOTTOM & PCB_LYT_COPPER, &solder_group, 1); - pcb_layer_group_list(PCB_LYT_TOP & PCB_LYT_COPPER, &component_group, 1); + pcb_layer_group_list(PCB_LYT_BOTTOM | PCB_LYT_COPPER, &solder_group, 1); + pcb_layer_group_list(PCB_LYT_TOP | PCB_LYT_COPPER, &component_group, 1); if (PCB->PinOn || !pcb_gui->gui) { /* draw element pins */ Index: trunk/src/layer_grp.c =================================================================== --- trunk/src/layer_grp.c (revision 6175) +++ trunk/src/layer_grp.c (revision 6176) @@ -225,6 +225,7 @@ for (layeri = 0; layeri < PCB->LayerGroups.grp[group].len; layeri++) { pcb_layer_id_t layer = PCB->LayerGroups.grp[group].lid[layeri]; if ((pcb_layer_flags(layer) & mask) == mask) { +/* printf(" lf: %x %x & %x\n", layer, pcb_layer_flags(layer), mask);*/ APPEND(group); goto added; /* do not add a group twice */ } Index: trunk/src/obj_elem.c =================================================================== --- trunk/src/obj_elem.c (revision 6175) +++ trunk/src/obj_elem.c (revision 6176) @@ -206,8 +206,8 @@ PCB_END_LOOP; gbottom = gtop = -1; - pcb_layer_group_list(PCB_LYT_BOTTOM & PCB_LYT_COPPER, &gbottom, 1); - pcb_layer_group_list(PCB_LYT_TOP & PCB_LYT_COPPER, >op, 1); + pcb_layer_group_list(PCB_LYT_BOTTOM | PCB_LYT_COPPER, &gbottom, 1); + pcb_layer_group_list(PCB_LYT_TOP | PCB_LYT_COPPER, >op, 1); group = (PCB_SWAP_IDENT ? gbottom : gtop); clayer = &Buffer->Data->Layer[PCB->LayerGroups.grp[group].lid[0]]; @@ -268,8 +268,8 @@ pcb_bool warned = pcb_false; gbottom = gtop = -1; - pcb_layer_group_list(PCB_LYT_BOTTOM & PCB_LYT_COPPER, &gbottom, 1); - pcb_layer_group_list(PCB_LYT_TOP & PCB_LYT_COPPER, >op, 1); + pcb_layer_group_list(PCB_LYT_BOTTOM | PCB_LYT_COPPER, &gbottom, 1); + pcb_layer_group_list(PCB_LYT_TOP | PCB_LYT_COPPER, >op, 1); if (Buffer->Data->pcb == 0) Buffer->Data->pcb = PCB; Index: trunk/src/obj_line_drcenf.c =================================================================== --- trunk/src/obj_line_drcenf.c (revision 6175) +++ trunk/src/obj_line_drcenf.c (revision 6176) @@ -284,7 +284,7 @@ info.solder = pcb_true; else { info.solder = pcb_false; - pcb_layer_list(PCB_LYT_TOP & PCB_LYT_SILK, &comp, 1); + pcb_layer_list(PCB_LYT_TOP | PCB_LYT_SILK, &comp, 1); } temp = length; /* assume the worst */ @@ -439,7 +439,7 @@ info.solder = pcb_true; else { info.solder = pcb_false; - pcb_layer_list(PCB_LYT_TOP & PCB_LYT_SILK, &comp, 1); + pcb_layer_list(PCB_LYT_TOP | PCB_LYT_SILK, &comp, 1); } /* search for intersection */ Index: trunk/src/rats.c =================================================================== --- trunk/src/rats.c (revision 6175) +++ trunk/src/rats.c (revision 6176) @@ -196,8 +196,8 @@ /* find layer groups of the component side and solder side */ SLayer = CLayer = -1; - pcb_layer_list(PCB_LYT_BOTTOM & PCB_LYT_SILK, &SLayer, 1); - pcb_layer_list(PCB_LYT_TOP & PCB_LYT_SILK, &CLayer, 1); + pcb_layer_list(PCB_LYT_BOTTOM | PCB_LYT_SILK, &SLayer, 1); + pcb_layer_list(PCB_LYT_TOP | PCB_LYT_SILK, &CLayer, 1); Wantlist = (pcb_netlist_t *) calloc(1, sizeof(pcb_netlist_t)); if (Wantlist) {