Index: font.c =================================================================== --- font.c (revision 36109) +++ font.c (revision 36110) @@ -345,13 +345,18 @@ return f; } -void pcb_font_free_symbol(pcb_symbol_t *s) +void pcb_font_clear_symbol(pcb_symbol_t *s) { pcb_poly_t *p; pcb_arc_t *a; - free(s->Line); + s->Valid = 0; + s->Width = 0; + s->Delta = 0; + + s->LineN = 0; + for(p = polylist_first(&s->polys); p != NULL; p = polylist_first(&s->polys)) { polylist_remove(p); pcb_poly_free_fields(p); @@ -363,6 +368,14 @@ free(a); } +} + +void pcb_font_free_symbol(pcb_symbol_t *s) +{ + + pcb_font_clear_symbol(s); + + free(s->Line); memset (s, 0, sizeof(pcb_symbol_t)); }