Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 8996) +++ trunk/src/obj_arc.c (revision 8997) @@ -53,6 +53,9 @@ pcb_arc_t *new_obj; new_obj = calloc(sizeof(pcb_arc_t), 1); + new_obj->type = PCB_OBJ_ARC; + new_obj->parent_type = PCB_PARENT_LAYER; + new_obj->parent.layer = layer; arclist_append(&layer->Arc, new_obj); return new_obj; @@ -62,6 +65,10 @@ { pcb_arc_t *arc = calloc(sizeof(pcb_arc_t), 1); + arc->type = PCB_OBJ_ARC; + arc->parent_type = PCB_PARENT_ELEMENT; + arc->parent.element = Element; + arclist_append(&Element->Arc, arc); return arc; } Index: trunk/src/obj_elem.c =================================================================== --- trunk/src/obj_elem.c (revision 8996) +++ trunk/src/obj_elem.c (revision 8997) @@ -64,6 +64,10 @@ pcb_element_t *new_obj; new_obj = calloc(sizeof(pcb_element_t), 1); + new_obj->type = PCB_OBJ_ELEMENT; + new_obj->parent_type = PCB_PARENT_DATA; + new_obj->parent.data = data; + elementlist_append(&data->Element, new_obj); return new_obj; @@ -111,6 +115,11 @@ pcb_line_t *pcb_element_line_alloc(pcb_element_t *Element) { pcb_line_t *line = calloc(sizeof(pcb_line_t), 1); + + line->type = PCB_OBJ_ELINE; + line->parent_type = PCB_PARENT_ELEMENT; + line->parent.element = Element; + linelist_append(&Element->Line, line); return line; Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 8996) +++ trunk/src/obj_line.c (revision 8997) @@ -57,6 +57,10 @@ pcb_line_t *new_obj; new_obj = calloc(sizeof(pcb_line_t), 1); + new_obj->type = PCB_OBJ_LINE; + new_obj->parent_type = PCB_PARENT_LAYER; + new_obj->parent.layer = layer; + linelist_append(&layer->Line, new_obj); return new_obj; Index: trunk/src/obj_pad.c =================================================================== --- trunk/src/obj_pad.c (revision 8996) +++ trunk/src/obj_pad.c (revision 8997) @@ -52,6 +52,10 @@ pcb_pad_t *new_obj; new_obj = calloc(sizeof(pcb_pad_t), 1); + new_obj->type = PCB_OBJ_PAD; + new_obj->parent_type = PCB_PARENT_ELEMENT; + new_obj->parent.element = element; + padlist_append(&element->Pad, new_obj); return new_obj; Index: trunk/src/obj_pinvia.c =================================================================== --- trunk/src/obj_pinvia.c (revision 8996) +++ trunk/src/obj_pinvia.c (revision 8997) @@ -53,6 +53,10 @@ pcb_pin_t *new_obj; new_obj = calloc(sizeof(pcb_pin_t), 1); + new_obj->type = PCB_OBJ_VIA; + new_obj->parent_type = PCB_PARENT_DATA; + new_obj->parent.data = data; + pinlist_append(&data->Via, new_obj); return new_obj; @@ -70,6 +74,10 @@ pcb_pin_t *new_obj; new_obj = calloc(sizeof(pcb_pin_t), 1); + new_obj->type = PCB_OBJ_PIN; + new_obj->parent_type = PCB_PARENT_ELEMENT; + new_obj->parent.element = element; + pinlist_append(&element->Pin, new_obj); return new_obj; Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 8996) +++ trunk/src/obj_poly.c (revision 8997) @@ -58,6 +58,10 @@ pcb_polygon_t *new_obj; new_obj = calloc(sizeof(pcb_polygon_t), 1); + new_obj->type = PCB_OBJ_POLYGON; + new_obj->parent_type = PCB_PARENT_LAYER; + new_obj->parent.layer = layer; + polylist_append(&layer->Polygon, new_obj); return new_obj; Index: trunk/src/obj_rat.c =================================================================== --- trunk/src/obj_rat.c (revision 8996) +++ trunk/src/obj_rat.c (revision 8997) @@ -56,6 +56,10 @@ pcb_rat_t *new_obj; new_obj = calloc(sizeof(pcb_rat_t), 1); + new_obj->type = PCB_OBJ_RAT; + new_obj->parent_type = PCB_PARENT_DATA; + new_obj->parent.data = data; + ratlist_append(&data->Rat, new_obj); return new_obj; Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 8996) +++ trunk/src/obj_text.c (revision 8997) @@ -57,6 +57,10 @@ pcb_text_t *new_obj; new_obj = calloc(sizeof(pcb_text_t), 1); + new_obj->type = PCB_OBJ_TEXT; + new_obj->parent_type = PCB_PARENT_LAYER; + new_obj->parent.layer = layer; + textlist_append(&layer->Text, new_obj); return new_obj;