diff --git a/src/callback.c b/src/callback.c index f1a36095..30a2516e 100644 --- a/src/callback.c +++ b/src/callback.c @@ -2680,8 +2680,9 @@ int rstate; /* (reduced state, without ShiftMask) */ } } } + /* snap crosshair to closest pin or net endpoint */ if(draw_xhair) { - if(/* (xctx->ui_state & STARTWIRE) && */ (state & ShiftMask) ) { + if( ( (xctx->ui_state & STARTWIRE) || xctx->ui_state == 0 ) && (state & ShiftMask) ) { double x, y, sx, sy; sx = xctx->mousex_snap; sy = xctx->mousey_snap; @@ -4235,6 +4236,7 @@ int rstate; /* (reduced state, without ShiftMask) */ /* terminate wire placement in snap mode */ else if(button==Button1 && (state & ShiftMask) && (xctx->ui_state & STARTWIRE) ) { snapped_wire(c_snap); + here(1111); } /* Alt - Button1 click to unselect */ else if(button==Button1 && (SET_MODMASK) ) {