Index: trunk/src/obj_all_op.h =================================================================== --- trunk/src/obj_all_op.h (revision 9268) +++ trunk/src/obj_all_op.h (revision 9269) @@ -6,3 +6,4 @@ #include "obj_poly_op.h" #include "obj_text_op.h" #include "obj_rat_op.h" +#include "obj_subc_op.h" Index: trunk/src/operation.h =================================================================== --- trunk/src/operation.h (revision 9268) +++ trunk/src/operation.h (revision 9269) @@ -123,6 +123,7 @@ void *(*Arc)(pcb_opctx_t *ctx, pcb_layer_t *, pcb_arc_t *); void *(*Rat)(pcb_opctx_t *ctx, pcb_rat_t *); void *(*ArcPoint)(pcb_opctx_t *ctx, pcb_layer_t *, pcb_arc_t *, int *end_id); + void *(*subc)(pcb_opctx_t *ctx, pcb_subc_t *); } pcb_opfunc_t; #endif Index: trunk/src/select.c =================================================================== --- trunk/src/select.c (revision 9268) +++ trunk/src/select.c (revision 9269) @@ -534,6 +534,11 @@ return (F->Element(ctx, (pcb_element_t *) Ptr1)); break; + case PCB_TYPE_SUBC: + if (F->subc) + return (F->subc(ctx, (pcb_subc_t *) Ptr1)); + break; + case PCB_TYPE_PIN: if (F->Pin) return (F->Pin(ctx, (pcb_element_t *) Ptr1, (pcb_pin_t *) Ptr2));