Index: layer.c =================================================================== --- layer.c (revision 21571) +++ layer.c (revision 21572) @@ -705,8 +705,6 @@ pcb_layergrp_t *g; int grp_idx, remaining; -TODO("layer TODO remove objects, free fields layer_free(&pcb->Data->Layer[old_index]);") - /* remove the current lid from its group */ g = pcb_get_layergrp(pcb, pcb->Data->Layer[old_index].meta.real.grp); grp_idx = pcb_layergrp_index_in_grp(g, old_index); @@ -715,6 +713,8 @@ return -1; } + pcb_layer_free(&pcb->Data->Layer[old_index]); + remaining = (g->len - grp_idx - 1); if (remaining > 0) memmove(g->lid+grp_idx, g->lid+grp_idx+1, remaining * sizeof(pcb_layer_id_t));