Index: trunk/src/crosshair.c =================================================================== --- trunk/src/crosshair.c (revision 34413) +++ trunk/src/crosshair.c (revision 34414) @@ -1143,6 +1143,7 @@ { 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_crosshair.tool_via = -1; } void pcb_crosshair_uninit(void) Index: trunk/src/crosshair.h =================================================================== --- trunk/src/crosshair.h (revision 34413) +++ trunk/src/crosshair.h (revision 34414) @@ -80,7 +80,7 @@ } edit_poly_point_extra; /* cached tool IDs */ - int tool_arrow, tool_line, tool_move, tool_arc, tool_poly, tool_poly_hole; + int tool_arrow, tool_line, tool_move, tool_arc, tool_via, tool_poly, tool_poly_hole; } pcb_crosshair_t; typedef struct { Index: trunk/src_plugins/tool_std/tool_std.c =================================================================== --- trunk/src_plugins/tool_std/tool_std.c (revision 34413) +++ trunk/src_plugins/tool_std/tool_std.c (revision 34414) @@ -76,7 +76,7 @@ rnd_tool_reg(&pcb_tool_rotate, pcb_tool_std_cookie); rnd_tool_reg(&pcb_tool_text, pcb_tool_std_cookie); rnd_tool_reg(&pcb_tool_thermal, pcb_tool_std_cookie); - rnd_tool_reg(&pcb_tool_via, pcb_tool_std_cookie); + pcb_crosshair.tool_via = rnd_tool_reg(&pcb_tool_via, pcb_tool_std_cookie); return 0; }