Index: trunk/src/obj_padstack_op.c =================================================================== --- trunk/src/obj_padstack_op.c (revision 12397) +++ trunk/src/obj_padstack_op.c (revision 12398) @@ -129,3 +129,12 @@ PCB_CLEAR_PARENT(ps); return NULL; } + +void *pcb_padstackop_destroy(pcb_opctx_t *ctx, pcb_padstack_t *ps) +{ + pcb_r_delete_entry(ctx->remove.destroy_target->padstack_tree, (pcb_box_t *)ps); + free(ps->thermal.shape); + pcb_via_free(ps); + return NULL; +} + Index: trunk/src/obj_padstack_op.h =================================================================== --- trunk/src/obj_padstack_op.h (revision 12397) +++ trunk/src/obj_padstack_op.h (revision 12398) @@ -32,12 +32,11 @@ void *pcb_padstackop_move_noclip(pcb_opctx_t *ctx, pcb_padstack_t *ps); void *pcb_padstackop_clip(pcb_opctx_t *ctx, pcb_padstack_t *ps); void *pcb_padstackop_remove(pcb_opctx_t *ctx, pcb_padstack_t *ps); +void *pcb_padstackop_destroy(pcb_opctx_t *ctx, pcb_padstack_t *ps); /*** TODO: unimplemented ones ***/ -void *pcb_padstackop_destroy(pcb_opctx_t *ctx, pcb_padstack_t *ps); - void *pcb_padstackop_change_size(pcb_opctx_t *ctx, pcb_padstack_t *ps); void *pcb_padstackop_change_2nd_size(pcb_opctx_t *ctx, pcb_padstack_t *ps); void *pcb_padstackop_change_clear_size(pcb_opctx_t *ctx, pcb_padstack_t *ps); Index: trunk/src/remove.c =================================================================== --- trunk/src/remove.c (revision 12397) +++ trunk/src/remove.c (revision 12398) @@ -72,8 +72,8 @@ pcb_arcop_destroy, pcb_ratop_destroy, NULL, - pcb_subcop_destroy, /* subc */ - NULL /* padstack */ + pcb_subcop_destroy, + pcb_padstackop_destroy, }; /* ----------------------------------------------------------------------