Index: trunk/src/obj_pinvia.c =================================================================== --- trunk/src/obj_pinvia.c (revision 9612) +++ trunk/src/obj_pinvia.c (revision 9613) @@ -840,6 +840,13 @@ return NULL; } +void *pcb_viaop_rotate90(pcb_opctx_t *ctx, pcb_pin_t *via) +{ + PCB_VIA_ROTATE90(via, ctx->rotate.center_x, ctx->rotate.center_y, ctx->rotate.number); + return via; +} + + #define PCB_PIN_FLAGS (PCB_FLAG_FOUND | PCB_FLAG_HOLE | PCB_FLAG_PININPOLY | PCB_FLAG_SELECTED | PCB_FLAG_AUTO | PCB_FLAG_LOCK | PCB_FLAG_VISIT) void *pcb_pinop_change_flag(pcb_opctx_t *ctx, pcb_pin_t *pin) { Index: trunk/src/obj_pinvia_op.h =================================================================== --- trunk/src/obj_pinvia_op.h (revision 9612) +++ trunk/src/obj_pinvia_op.h (revision 9613) @@ -59,4 +59,5 @@ void *pcb_viaop_destroy(pcb_opctx_t *ctx, pcb_pin_t *Via); void *pcb_viaop_remove(pcb_opctx_t *ctx, pcb_pin_t *Via); void *pcb_pinop_change_flag(pcb_opctx_t *ctx, pcb_pin_t *pin); +void *pcb_viaop_rotate90(pcb_opctx_t *ctx, pcb_pin_t *via); Index: trunk/src/rotate.c =================================================================== --- trunk/src/rotate.c (revision 9612) +++ trunk/src/rotate.c (revision 9613) @@ -56,7 +56,7 @@ pcb_lineop_rotate90, pcb_textop_rotate90, pcb_polyop_rotate90, - NULL, + pcb_viaop_rotate90, pcb_elemop_rotate90, pcb_elemop_rotate90_name, NULL,