Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 37779) +++ trunk/src/obj_arc.c (revision 37780) @@ -363,6 +363,7 @@ pcb_attribute_free(&arc->Attributes); pcb_arc_unreg(arc); pcb_obj_common_free((pcb_any_obj_t *)arc); + pcb_flag_uninit(&arc->Flags); free(arc); } @@ -1276,7 +1277,6 @@ if (!Arc->Thickness) return; pcb_draw_invalidate(Arc); - pcb_flag_uninit(&Arc->Flags); } void pcb_arc_invalidate_draw(pcb_layer_t *Layer, pcb_arc_t *Arc) Index: trunk/src/obj_gfx.c =================================================================== --- trunk/src/obj_gfx.c (revision 37779) +++ trunk/src/obj_gfx.c (revision 37780) @@ -214,6 +214,7 @@ pcb_attribute_free(&gfx->Attributes); pcb_gfx_unreg(gfx); pcb_obj_common_free((pcb_any_obj_t *)gfx); + pcb_flag_uninit(&gfx->Flags); free(gfx); } @@ -966,7 +967,6 @@ void pcb_gfx_invalidate_erase(pcb_gfx_t *gfx) { pcb_draw_invalidate(gfx); - pcb_flag_uninit(&gfx->Flags); } void pcb_gfx_invalidate_draw(pcb_layer_t *Layer, pcb_gfx_t *gfx) Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 37779) +++ trunk/src/obj_line.c (revision 37780) @@ -125,6 +125,7 @@ pcb_attribute_free(&line->Attributes); pcb_line_unreg(line); pcb_obj_common_free((pcb_any_obj_t *)line); + pcb_flag_uninit(&line->Flags); free(line); } @@ -1545,7 +1546,6 @@ void pcb_line_invalidate_erase(pcb_line_t *Line) { pcb_draw_invalidate(Line); - pcb_flag_uninit(&Line->Flags); } void pcb_line_invalidate_draw(pcb_layer_t *Layer, pcb_line_t *Line) Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 37779) +++ trunk/src/obj_poly.c (revision 37780) @@ -121,6 +121,7 @@ pcb_attribute_free(&poly->Attributes); pcb_poly_unreg(poly); pcb_obj_common_free((pcb_any_obj_t *)poly); + pcb_flag_uninit(&poly->Flags); free(poly); } @@ -1637,7 +1638,6 @@ void pcb_poly_invalidate_erase(pcb_poly_t *Polygon) { pcb_draw_invalidate(Polygon); - pcb_flag_uninit(&Polygon->Flags); } void pcb_poly_invalidate_draw(pcb_layer_t *Layer, pcb_poly_t *Polygon) Index: trunk/src/obj_rat.c =================================================================== --- trunk/src/obj_rat.c (revision 37779) +++ trunk/src/obj_rat.c (revision 37780) @@ -88,6 +88,7 @@ free(rat->anchor[0]); free(rat->anchor[1]); pcb_obj_common_free((pcb_any_obj_t *)rat); + pcb_flag_uninit(&rat->Flags); free(rat); } @@ -465,7 +466,6 @@ } else pcb_line_invalidate_erase((pcb_line_t *) Rat); - pcb_flag_uninit(&Rat->Flags); } void pcb_rat_invalidate_draw(pcb_rat_t *Rat) Index: trunk/src/obj_subc.c =================================================================== --- trunk/src/obj_subc.c (revision 37779) +++ trunk/src/obj_subc.c (revision 37780) @@ -146,6 +146,7 @@ pcb_data_free(sc->data); pcb_term_uninit(&sc->terminals); pcb_obj_common_free((pcb_any_obj_t *)sc); + pcb_flag_uninit(&sc->Flags); free(sc); } @@ -1138,7 +1139,6 @@ void EraseSubc(pcb_subc_t *sc) { pcb_draw_invalidate(sc); -/* pcb_flag_uninit(&sc->Flags); ??? */ } void DrawSubc(pcb_subc_t *sc)