Index: src/buffer.c =================================================================== --- src/buffer.c (revision 17096) +++ src/buffer.c (revision 17097) @@ -235,6 +235,9 @@ void pcb_buffer_rotate90(pcb_buffer_t *Buffer, pcb_uint8_t Number) { + pcb_undo_freeze_serial(); + pcb_undo_freeze_add(); + PCB_PADSTACK_LOOP(Buffer->Data); { pcb_pstk_rotate90(padstack, Buffer->X, Buffer->Y, Number); @@ -288,6 +291,9 @@ /* finally the origin and the bounding box */ PCB_COORD_ROTATE90(Buffer->X, Buffer->Y, Buffer->X, Buffer->Y, Number); pcb_box_rotate90(&Buffer->BoundingBox, Buffer->X, Buffer->Y, Number); + + pcb_undo_unfreeze_add(); + pcb_undo_unfreeze_serial(); } void pcb_buffer_rotate(pcb_buffer_t *Buffer, pcb_angle_t angle) @@ -294,6 +300,9 @@ { double cosa, sina; + pcb_undo_freeze_serial(); + pcb_undo_freeze_add(); + cosa = cos(angle * M_PI / 180.0); sina = sin(angle * M_PI / 180.0); @@ -328,6 +337,8 @@ PCB_ENDALL_LOOP; pcb_set_buffer_bbox(Buffer); + pcb_undo_unfreeze_add(); + pcb_undo_unfreeze_serial(); } pcb_data_t *pcb_buffer_new(pcb_board_t *pcb)