Index: trunk/src/obj_padstack_op.c =================================================================== --- trunk/src/obj_padstack_op.c (revision 12394) +++ trunk/src/obj_padstack_op.c (revision 12395) @@ -122,3 +122,10 @@ return ps; } +void *pcb_padstackop_remove(pcb_opctx_t *ctx, pcb_padstack_t *ps) +{ + pcb_padstack_invalidate_erase(ps); + pcb_undo_move_obj_to_remove(PCB_TYPE_PADSTACK, ps, ps, ps); + PCB_CLEAR_PARENT(ps); + return NULL; +} Index: trunk/src/obj_padstack_op.h =================================================================== --- trunk/src/obj_padstack_op.h (revision 12394) +++ trunk/src/obj_padstack_op.h (revision 12395) @@ -44,6 +44,8 @@ void *pcb_padstackop_move(pcb_opctx_t *ctx, pcb_padstack_t *ps); 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); + Index: trunk/src/remove.c =================================================================== --- trunk/src/remove.c (revision 12394) +++ trunk/src/remove.c (revision 12395) @@ -35,6 +35,7 @@ #include "select.h" #include "undo.h" #include "obj_all_op.h" +#include "obj_padstack_op.h" /* --------------------------------------------------------------------------- * some local types @@ -53,8 +54,8 @@ pcb_arcop_remve, pcb_ratop_remove, pcb_arcop_remove_point, - pcb_subcop_remove, /* subc */ - NULL /* padstack */ + pcb_subcop_remove, + pcb_padstackop_remove }; static pcb_opfunc_t DestroyFunctions = {