Index: trunk/src/action_helper.c =================================================================== --- trunk/src/action_helper.c (revision 12787) +++ trunk/src/action_helper.c (revision 12788) @@ -144,9 +144,6 @@ int defer_needs_update = 0; -pcb_bool saved_mode = pcb_false; - - void pcb_clear_warnings() { pcb_rtree_it_t it; @@ -221,9 +218,9 @@ { pcb_tool_release_mode(); - if (saved_mode) + if (pcb_tool_is_saved) pcb_crosshair_restore_mode(); - saved_mode = pcb_false; + pcb_tool_is_saved = pcb_false; } void pcb_adjust_attached_objects(void) Index: trunk/src/action_helper.h =================================================================== --- trunk/src/action_helper.h (revision 12787) +++ trunk/src/action_helper.h (revision 12788) @@ -55,8 +55,6 @@ /* Clear warning color from pins/pads */ void pcb_clear_warnings(void); -extern pcb_bool saved_mode; - void pcb_release_mode(void); /* --------------------------------------------------------------------------- Index: trunk/src/gui_act.c =================================================================== --- trunk/src/gui_act.c (revision 12787) +++ trunk/src/gui_act.c (revision 12788) @@ -806,7 +806,7 @@ pcb_crosshair_set_mode(PCB_MODE_POLYGON); else { pcb_crosshair_save_mode(); - saved_mode = pcb_true; + pcb_tool_is_saved = pcb_true; pcb_crosshair_set_mode(PCB_MODE_ARROW); pcb_notify_mode(); } Index: trunk/src/tool.c =================================================================== --- trunk/src/tool.c (revision 12787) +++ trunk/src/tool.c (revision 12788) @@ -167,6 +167,7 @@ /**** tool helper functions ****/ pcb_tool_note_t pcb_tool_note; +pcb_bool pcb_tool_is_saved = pcb_false; static void get_grid_lock_coordinates(int type, void *ptr1, void *ptr2, void *ptr3, pcb_coord_t * x, pcb_coord_t * y) { Index: trunk/src/tool.h =================================================================== --- trunk/src/tool.h (revision 12787) +++ trunk/src/tool.h (revision 12788) @@ -91,6 +91,7 @@ } pcb_tool_note_t; extern pcb_tool_note_t pcb_tool_note; +extern pcb_bool pcb_tool_is_saved; void pcb_tool_attach_for_copy(pcb_coord_t PlaceX, pcb_coord_t PlaceY, pcb_bool do_rubberband); void pcb_tool_notify_block(void); /* create first or second corner of a marked block (when clicked) */ Index: trunk/src/tool_arrow.c =================================================================== --- trunk/src/tool_arrow.c (revision 12787) +++ trunk/src/tool_arrow.c (revision 12788) @@ -58,7 +58,7 @@ pcb_undo_save_serial(); pcb_remove_selected(); pcb_crosshair_save_mode(); - saved_mode = pcb_true; + pcb_tool_is_saved = pcb_true; pcb_crosshair_set_mode(PCB_MODE_PASTE_BUFFER); } else if (pcb_tool_note.Hit && !pcb_gui->shift_is_pressed()) { @@ -65,7 +65,7 @@ pcb_box_t box; pcb_crosshair_save_mode(); - saved_mode = pcb_true; + pcb_tool_is_saved = pcb_true; pcb_crosshair_set_mode(pcb_gui->control_is_pressed()? PCB_MODE_COPY : PCB_MODE_MOVE); pcb_crosshair.AttachedObject.Ptr1 = pcb_tool_note.ptr1; pcb_crosshair.AttachedObject.Ptr2 = pcb_tool_note.ptr2;