X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=4974fed89370b31c76031fbac6d711b6cb421583;hb=2fbce24cf46beda8a9049be879d5b82981ddf82d;hp=5b66016604c07093eea9abc2f9df75114d6eb67a;hpb=a2875470324f942b5a8f696a5f30f1e26e793252;p=xboard.git diff --git a/backend.c b/backend.c index 5b66016..4974fed 100644 --- a/backend.c +++ b/backend.c @@ -5399,8 +5399,8 @@ Sweep (int step) if(step && !(toggleFlag && Partner(&promoSweep))) promoSweep -= step; if(promoSweep == EmptySquare) promoSweep = BlackPawn; // wrap else if((int)promoSweep == -1) promoSweep = WhiteKing; - else if(promoSweep == BlackPawn && step < 0) promoSweep = WhitePawn; - else if(promoSweep == WhiteKing && step > 0) promoSweep = BlackKing; + else if(promoSweep == BlackPawn && step < 0 && !toggleFlag) promoSweep = WhitePawn; + else if(promoSweep == WhiteKing && step > 0 && !toggleFlag) promoSweep = BlackKing; if(!step) step = -1; } while(PieceToChar(promoSweep) == '.' || PieceToChar(promoSweep) == '~' || promoSweep == pawn || !toggleFlag && PieceToChar(promoSweep) == '+' || // skip promoted versions of other