X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=2f71b5e13ef5e370c70474acb1415cc29f1c8baa;hb=43a9eda479942200b5918413599011b86420995e;hp=f4499df997b10db114b25d0782de4eb4e37e6e0f;hpb=4f18ec70abd283b24ac9b32da4151430ea6b1b6e;p=xboard.git diff --git a/backend.c b/backend.c index f4499df..2f71b5e 100644 --- a/backend.c +++ b/backend.c @@ -5136,7 +5136,7 @@ Sweep(int step) else if((int)promoSweep == -1) promoSweep = WhiteKing; else if(promoSweep == BlackPawn && step < 0) promoSweep = WhitePawn; else if(promoSweep == WhiteKing && step > 0) promoSweep = BlackKing; - if(!step) step = 1; + if(!step) step = -1; } while(PieceToChar(promoSweep) == '.' || PieceToChar(promoSweep) == '~' || promoSweep == pawn || appData.testLegality && (promoSweep == king || gameInfo.variant == VariantShogi && promoSweep != PROMOTED last && last != PROMOTED promoSweep && last != promoSweep)); @@ -14225,6 +14225,8 @@ ForwardInner(target) if (gameMode == EditPosition) return; + MarkTargetSquares(1); + if (gameMode == PlayFromGameFile && !pausing) PauseEvent(); @@ -14330,6 +14332,7 @@ BackwardInner(target) target, currentMove, forwardMostMove); if (gameMode == EditPosition) return; + MarkTargetSquares(1); if (currentMove <= backwardMostMove) { ClearHighlights(); DrawPosition(full_redraw, boards[currentMove]);