Index: trunk/src/data.c =================================================================== --- trunk/src/data.c (revision 21572) +++ trunk/src/data.c (revision 21573) @@ -167,7 +167,7 @@ list_map0(&data->Rat, pcb_rat_t, pcb_rat_free); for (layer = data->Layer, i = 0; i < data->LayerN; layer++, i++) - pcb_layer_free(layer); + pcb_layer_free_fields(layer); if (!subc) { if (data->subc_tree) Index: trunk/src/layer.c =================================================================== --- trunk/src/layer.c (revision 21572) +++ trunk/src/layer.c (revision 21573) @@ -119,7 +119,7 @@ #define PURP_MATCH(ps, pi) (((purpi == -1) || (purpi == pi)) && ((purpose == NULL) || (strcmp(purpose, ps) == 0))) -void pcb_layer_free(pcb_layer_t *layer) +void pcb_layer_free_fields(pcb_layer_t *layer) { if (!layer->is_bound) pcb_attribute_free(&layer->Attributes); @@ -713,7 +713,7 @@ return -1; } - pcb_layer_free(&pcb->Data->Layer[old_index]); + pcb_layer_free_fields(&pcb->Data->Layer[old_index]); remaining = (g->len - grp_idx - 1); if (remaining > 0) Index: trunk/src/layer.h =================================================================== --- trunk/src/layer.h (revision 21572) +++ trunk/src/layer.h (revision 21573) @@ -204,7 +204,7 @@ /************ NEW API - new code should use these **************/ /* Free all metadata and objects of a layer; does not free(layer) */ -void pcb_layer_free(pcb_layer_t *layer); +void pcb_layer_free_fields(pcb_layer_t *layer); /* Return the layer pointer (or NULL on invalid or virtual layers) for an id */ pcb_layer_t *pcb_get_layer(pcb_data_t *data, pcb_layer_id_t id); Index: trunk/src/layer_ui.c =================================================================== --- trunk/src/layer_ui.c (revision 21572) +++ trunk/src/layer_ui.c (revision 21573) @@ -73,7 +73,7 @@ static void pcb_uilayer_free_(pcb_layer_t *l, long idx) { - pcb_layer_free(l); + pcb_layer_free_fields(l); free(l); pcb_uilayers.array[idx] = NULL; }