Index: trunk/src/board.c =================================================================== --- trunk/src/board.c (revision 38545) +++ trunk/src/board.c (revision 38546) @@ -274,8 +274,11 @@ pcb->hidlib.dwg.X2 = x2; pcb->hidlib.dwg.Y2 = y2; - if (pcb == PCB) - pcb_board_replaced(); + if (pcb == PCB) { + rnd_event(&pcb->hidlib, RND_EVENT_DESIGN_META_CHANGED, NULL); + rnd_event(&pcb->hidlib, PCB_EVENT_BOARD_EDITED, NULL); + rnd_gui->invalidate_all(rnd_gui); + } } /*** undoable board resize ***/ Index: trunk/src/plug_io.c =================================================================== --- trunk/src/plug_io.c (revision 38545) +++ trunk/src/plug_io.c (revision 38546) @@ -642,15 +642,15 @@ pcb_board_new_postproc(PCB, 0); if (how == 0) { + pcb_board_t *pcb; + /* update cursor location */ PCB->hidlib.ch_x = pcb_crosshair.X = (PCB->hidlib.dwg.X1 + PCB->hidlib.dwg.X2) / 2; PCB->hidlib.ch_y = pcb_crosshair.Y = (PCB->hidlib.dwg.Y1 + PCB->hidlib.dwg.Y2) / 2; - - /* update cursor confinement and output area (scrollbars) */ - pcb_board_resize(PCB->hidlib.dwg.X1, PCB->hidlib.dwg.Y1, PCB->hidlib.dwg.X2, PCB->hidlib.dwg.Y2, 0); + pcb_board_replaced(); } - /* have to be called after pcb_board_resize() so vis update is after a board changed update */ + /* have to be called after pcb_board_replaced() so vis update is after a board changed update */ rnd_event(&PCB->hidlib, PCB_EVENT_LAYERS_CHANGED, NULL); pcb_layervis_reset_stack(&PCB->hidlib);