Index: trunk/src/buffer.c =================================================================== --- trunk/src/buffer.c (revision 6122) +++ trunk/src/buffer.c (revision 6123) @@ -395,7 +395,7 @@ pcb_message(PCB_MSG_ERROR, _("You can't mirror a buffer that has elements!\n")); return; } - for (i = 0; i < pcb_max_copper_layer + 2; i++) { + for (i = 0; i < pcb_max_layer; i++) { pcb_layer_t *layer = Buffer->Data->Layer + i; if (textlist_length(&layer->Text)) { pcb_message(PCB_MSG_ERROR, _("You can't mirror a buffer that has text!\n")); @@ -577,7 +577,7 @@ ctx.copy.DeltaY = Y - PCB_PASTEBUFFER->Y; /* paste all layers */ - for (i = 0; i < pcb_max_copper_layer + 2; i++) { + for (i = 0; i < pcb_max_layer; i++) { pcb_layer_t *sourcelayer = &PCB_PASTEBUFFER->Data->Layer[i], *destlayer = LAYER_PTR(i); if (destlayer->On) { Index: trunk/src/hid_flags.c =================================================================== --- trunk/src/hid_flags.c (revision 6122) +++ trunk/src/hid_flags.c (revision 6123) @@ -84,7 +84,7 @@ void pcb_hid_save_and_show_layer_ons(int *save_array) { int i; - for (i = 0; i < pcb_max_copper_layer + 2; i++) { + for (i = 0; i < pcb_max_layer; i++) { save_array[i] = PCB->Data->Layer[i].On; PCB->Data->Layer[i].On = 1; } @@ -93,6 +93,6 @@ void pcb_hid_restore_layer_ons(int *save_array) { int i; - for (i = 0; i < pcb_max_copper_layer + 2; i++) + for (i = 0; i < pcb_max_layer; i++) PCB->Data->Layer[i].On = save_array[i]; } Index: trunk/src/layer.c =================================================================== --- trunk/src/layer.c (revision 6122) +++ trunk/src/layer.c (revision 6123) @@ -293,7 +293,7 @@ pcb_layer_id_t pcb_layer_by_name(const char *name) { int n; - for (n = 0; n < pcb_max_copper_layer + 2; n++) + for (n = 0; n < pcb_max_layer; n++) if (strcmp(PCB->Data->Layer[n].Name, name) == 0) return n; return -1; @@ -711,7 +711,7 @@ for (g = 0; g < PCB_MAX_LAYERGRP; g++) PCB->LayerGroups.grp[g].len = 0; - for (l = 0; l < pcb_max_copper_layer + 2; l++) { + for (l = 0; l < pcb_max_layer; l++) { int i; g = groups[l]; if (g >= 0) { Index: trunk/src/layer_vis.c =================================================================== --- trunk/src/layer_vis.c (revision 6122) +++ trunk/src/layer_vis.c (revision 6123) @@ -85,8 +85,8 @@ } } - for (i = 0; i < pcb_max_copper_layer + 2; i++) { - if (i < pcb_max_copper_layer) + for (i = 0; i < pcb_max_layer; i++) { + if (!(pcb_layer_flags(i) & PCB_LYT_SILK)) pcb_layer_stack[i] = i; PCB->Data->Layer[i].On = pcb_false; } @@ -224,8 +224,8 @@ pcb_cardinal_t i; assert(PCB->Data->LayerN <= PCB_MAX_LAYER); - for (i = 0; i < pcb_max_copper_layer + 2; i++) { - if (i < pcb_max_copper_layer) + for (i = 0; i < pcb_max_layer; i++) { + if (!(pcb_layer_flags(i) & PCB_LYT_SILK)) pcb_layer_stack[i] = i; PCB->Data->Layer[i].On = pcb_true; } @@ -258,8 +258,8 @@ "pcb_layervis_save_stack() layerstack was already saved and not" "yet restored. cnt = %d\n", SavedStack.cnt); } - for (i = 0; i < pcb_max_copper_layer + 2; i++) { - if (i < pcb_max_copper_layer) + for (i = 0; i < pcb_max_layer; i++) { + if (!(pcb_layer_flags(i) & PCB_LYT_SILK)) SavedStack.pcb_layer_stack[i] = pcb_layer_stack[i]; SavedStack.LayerOn[i] = PCB->Data->Layer[i].On; } @@ -286,8 +286,8 @@ fprintf(stderr, "pcb_layervis_restore_stack() layerstack save count is" " wrong. cnt = %d\n", SavedStack.cnt); } - for (i = 0; i < pcb_max_copper_layer + 2; i++) { - if (i < pcb_max_copper_layer) + for (i = 0; i < pcb_max_layer; i++) { + if (!(pcb_layer_flags(i) & PCB_LYT_SILK)) pcb_layer_stack[i] = SavedStack.pcb_layer_stack[i]; PCB->Data->Layer[i].On = SavedStack.LayerOn[i]; }