Index: trunk/src/layer_grp.c =================================================================== --- trunk/src/layer_grp.c (revision 7746) +++ trunk/src/layer_grp.c (revision 7747) @@ -352,7 +352,7 @@ return 0; } -int pcb_layergrp_move(pcb_layer_stack_t *stk, pcb_layergrp_id_t from, pcb_layergrp_id_t to_before) +int pcb_layergrp_move(pcb_board_t *pcb, pcb_layer_stack_t *stk, pcb_layergrp_id_t from, pcb_layergrp_id_t to_before) { pcb_layer_group_t tmp; int n; @@ -369,17 +369,19 @@ memcpy(&tmp, &stk->grp[from], sizeof(pcb_layer_group_t)); memset(&stk->grp[from], 0, sizeof(pcb_layer_group_t)); if (to_before < from + 1) { - move_grps(PCB, stk, to_before, from-1, +1); + move_grps(pcb, stk, to_before, from-1, +1); memcpy(&stk->grp[to_before], &tmp, sizeof(pcb_layer_group_t)); } else { - move_grps(PCB, stk, from+1, to_before-1, -1); + move_grps(pcb, stk, from+1, to_before-1, -1); memcpy(&stk->grp[to_before-1], &tmp, sizeof(pcb_layer_group_t)); } /* fix up the group id for the layers of the group moved */ for(n = 0; n < stk->grp[to_before].len; n++) { - pcb_layer_t *l = pcb_get_layer(stk->grp[to_before].lid[n]); +#warning TODO: use pcb_get_layer when it becomes pcb-safe +/* pcb_layer_t *l = pcb_get_layer(stk->grp[to_before].lid[n]);*/ + pcb_layer_t *l = &pcb->Data->Layer[stk->grp[to_before].lid[n]]; if ((l != NULL) && (l->grp > 0)) l->grp = to_before; } Index: trunk/src/layer_grp.h =================================================================== --- trunk/src/layer_grp.h (revision 7746) +++ trunk/src/layer_grp.h (revision 7747) @@ -89,7 +89,7 @@ int pcb_layergrp_del(pcb_board_t *pcb, pcb_layergrp_id_t gid, int del_layers); /** Move gfrom to to_before and shift the stack as necessary. Return -1 on range error */ -int pcb_layergrp_move(pcb_layer_stack_t *stk, pcb_layergrp_id_t gfrom, pcb_layergrp_id_t to_before); +int pcb_layergrp_move(pcb_board_t *pcb, pcb_layer_stack_t *stk, pcb_layergrp_id_t gfrom, pcb_layergrp_id_t to_before); /** Move src onto dst, not shifting the stack, free()'ing and overwriting dst, leaving a gap (0'd slot) at src */ Index: trunk/src_plugins/draw_csect/draw_csect.c =================================================================== --- trunk/src_plugins/draw_csect/draw_csect.c (revision 7746) +++ trunk/src_plugins/draw_csect/draw_csect.c (revision 7747) @@ -474,7 +474,7 @@ tflg = pcb_layergrp_flags(PCB, gactive); - pcb_layergrp_move(&PCB->LayerGroups, drag_gid, gactive); + pcb_layergrp_move(PCB, &PCB->LayerGroups, drag_gid, gactive); if (drag_gid_subst >= 0) { if ((drag_gid < drag_gid_subst) && (gactive > drag_gid)) @@ -485,15 +485,15 @@ if (tflg & PCB_LYT_COPPER) { if (tflg & PCB_LYT_BOTTOM) - pcb_layergrp_move(&PCB->LayerGroups, drag_gid_subst, gactive); + pcb_layergrp_move(PCB, &PCB->LayerGroups, drag_gid_subst, gactive); else - pcb_layergrp_move(&PCB->LayerGroups, drag_gid_subst, gactive+1); + pcb_layergrp_move(PCB, &PCB->LayerGroups, drag_gid_subst, gactive+1); } else if (tflg & PCB_LYT_SUBSTRATE) { if (gactive < drag_gid) - pcb_layergrp_move(&PCB->LayerGroups, drag_gid_subst, gactive); + pcb_layergrp_move(PCB, &PCB->LayerGroups, drag_gid_subst, gactive); else - pcb_layergrp_move(&PCB->LayerGroups, drag_gid_subst, gactive-1); + pcb_layergrp_move(PCB, &PCB->LayerGroups, drag_gid_subst, gactive-1); } } }