Index: trunk/src/obj_pstk.c =================================================================== --- trunk/src/obj_pstk.c (revision 13058) +++ trunk/src/obj_pstk.c (revision 13059) @@ -170,6 +170,14 @@ return dst; } +pcb_pstk_t *pcb_pstk_copy_orient(pcb_pstk_t *dst, pcb_pstk_t *src) +{ + if (dst == NULL) + return NULL; + dst->rot = src->rot; + dst->xmirror = src->xmirror; + return dst; +} void pcb_pstk_move(pcb_pstk_t *ps, pcb_coord_t dx, pcb_coord_t dy) { Index: trunk/src/obj_pstk.h =================================================================== --- trunk/src/obj_pstk.h (revision 13058) +++ trunk/src/obj_pstk.h (revision 13059) @@ -93,7 +93,10 @@ /* Copy all metadata (attributes, thermals, etc.) */ pcb_pstk_t *pcb_pstk_copy_meta(pcb_pstk_t *dst, pcb_pstk_t *src); +/* Copy orientation information (rotatioin and mirror) of an instance */ +pcb_pstk_t *pcb_pstk_copy_orient(pcb_pstk_t *dst, pcb_pstk_t *src); + /*** proto ***/ /* Convert selection or current buffer to padstack; returns PCB_PADSTACK_INVALID