Index: trunk/src/crosshair.c =================================================================== --- trunk/src/crosshair.c (revision 29359) +++ trunk/src/crosshair.c (revision 29360) @@ -1063,12 +1063,15 @@ /* Initialise Line Route */ pcb_route_init(&pcb_crosshair.Route); - pcb_crosshair.tool_arrow = pcb_crosshair.tool_move = pcb_crosshair.tool_line = -1; - pcb_crosshair.tool_arc = pcb_crosshair.tool_poly = pcb_crosshair.tool_poly_hole = -1; pcb_event_bind(PCB_EVENT_GUI_INIT, pcb_crosshair_gui_init, NULL, crosshair_cookie); } +void pcb_crosshair_pre_init(void) +{ + pcb_crosshair.tool_arrow = pcb_crosshair.tool_move = pcb_crosshair.tool_line = -1; + pcb_crosshair.tool_arc = pcb_crosshair.tool_poly = pcb_crosshair.tool_poly_hole = -1; +} void pcb_crosshair_uninit(void) { Index: trunk/src/crosshair.h =================================================================== --- trunk/src/crosshair.h (revision 29359) +++ trunk/src/crosshair.h (revision 29360) @@ -110,6 +110,7 @@ void pcb_crosshair_move_relative(pcb_coord_t, pcb_coord_t); pcb_bool pcb_crosshair_move_absolute(pcb_coord_t, pcb_coord_t); void pcb_crosshair_init(void); +void pcb_crosshair_pre_init(void); void pcb_crosshair_uninit(void); void pcb_crosshair_grid_fit(pcb_coord_t, pcb_coord_t); void pcb_center_display(pcb_coord_t X, pcb_coord_t Y); Index: trunk/src/main.c =================================================================== --- trunk/src/main.c (revision 29359) +++ trunk/src/main.c (revision 29360) @@ -362,6 +362,8 @@ pcb_fix_locale_and_env(); exec_prefix = main_path_init(argv[0]); + pcb_crosshair_pre_init(); + pcbhl_main_args_init(&ga, argc, pcb_action_args); /* init application: