Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 22526) +++ trunk/src/obj_arc.c (revision 22527) @@ -73,8 +73,10 @@ pcb_layer_t *layer = arc->parent.layer; assert(arc->parent_type == PCB_PARENT_LAYER); arclist_remove(arc); - assert(layer->parent_type == PCB_PARENT_DATA); - pcb_obj_id_del(layer->parent.data, arc); + if (layer->parent_type != PCB_PARENT_UI) { + assert(layer->parent_type == PCB_PARENT_DATA); + pcb_obj_id_del(layer->parent.data, arc); + } PCB_CLEAR_PARENT(arc); } Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 22526) +++ trunk/src/obj_line.c (revision 22527) @@ -78,8 +78,10 @@ pcb_layer_t *layer = line->parent.layer; assert(line->parent_type == PCB_PARENT_LAYER); linelist_remove(line); - assert(layer->parent_type == PCB_PARENT_DATA); - pcb_obj_id_del(layer->parent.data, line); + if (layer->parent_type != PCB_PARENT_UI) { + assert(layer->parent_type == PCB_PARENT_DATA); + pcb_obj_id_del(layer->parent.data, line); + } PCB_CLEAR_PARENT(line); } Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 22526) +++ trunk/src/obj_poly.c (revision 22527) @@ -76,8 +76,10 @@ pcb_layer_t *layer = poly->parent.layer; assert(poly->parent_type == PCB_PARENT_LAYER); polylist_remove(poly); - assert(layer->parent_type == PCB_PARENT_DATA); - pcb_obj_id_del(layer->parent.data, poly); + if (layer->parent_type != PCB_PARENT_UI) { + assert(layer->parent_type == PCB_PARENT_DATA); + pcb_obj_id_del(layer->parent.data, poly); + } PCB_SET_PARENT(poly, layer, NULL); } Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 22526) +++ trunk/src/obj_text.c (revision 22527) @@ -77,8 +77,10 @@ pcb_layer_t *layer = text->parent.layer; assert(text->parent_type == PCB_PARENT_LAYER); textlist_remove(text); - assert(layer->parent_type == PCB_PARENT_DATA); - pcb_obj_id_del(layer->parent.data, text); + if (layer->parent_type != PCB_PARENT_UI) { + assert(layer->parent_type == PCB_PARENT_DATA); + pcb_obj_id_del(layer->parent.data, text); + } PCB_CLEAR_PARENT(text); }