Index: src/crosshair.c =================================================================== --- src/crosshair.c (revision 30736) +++ src/crosshair.c (revision 30737) @@ -877,23 +877,16 @@ PCB->hidlib.ch_x = pcb_crosshair.X = PCB_CLAMP(X, -PCB->hidlib.size_x/2, PCB->hidlib.size_x*3/2); PCB->hidlib.ch_y = pcb_crosshair.Y = PCB_CLAMP(Y, -PCB->hidlib.size_y/2, PCB->hidlib.size_y*3/2); - if (PCB->RatDraw) { - nearest_grid_x = -PCB_MIL_TO_COORD(6); - nearest_grid_y = -PCB_MIL_TO_COORD(6); - } - else { - nearest_grid_x = pcb_grid_fit(pcb_crosshair.X, PCB->hidlib.grid, PCB->hidlib.grid_ox); - nearest_grid_y = pcb_grid_fit(pcb_crosshair.Y, PCB->hidlib.grid, PCB->hidlib.grid_oy); + nearest_grid_x = pcb_grid_fit(pcb_crosshair.X, PCB->hidlib.grid, PCB->hidlib.grid_ox); + nearest_grid_y = pcb_grid_fit(pcb_crosshair.Y, PCB->hidlib.grid, PCB->hidlib.grid_oy); - if (pcb_marked.status && conf_core.editor.orthogonal_moves) { - pcb_coord_t dx = pcb_crosshair.X - hidlib->tool_grabbed.X; - pcb_coord_t dy = pcb_crosshair.Y - hidlib->tool_grabbed.Y; - if (PCB_ABS(dx) > PCB_ABS(dy)) - nearest_grid_y = hidlib->tool_grabbed.Y; - else - nearest_grid_x = hidlib->tool_grabbed.X; - } - + if (pcb_marked.status && conf_core.editor.orthogonal_moves) { + pcb_coord_t dx = pcb_crosshair.X - hidlib->tool_grabbed.X; + pcb_coord_t dy = pcb_crosshair.Y - hidlib->tool_grabbed.Y; + if (PCB_ABS(dx) > PCB_ABS(dy)) + nearest_grid_y = hidlib->tool_grabbed.Y; + else + nearest_grid_x = hidlib->tool_grabbed.X; } snap_data.crosshair = &pcb_crosshair;