Fix setting default piece from 'choice' command
authorH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 2 Feb 2016 12:10:24 +0000 (13:10 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 2 Feb 2016 12:10:24 +0000 (13:10 +0100)
PieceToCharwas used instead of CharToPiece. In addition it is important
to deduce the color from currentMoe rather than forwardMostMove, as
one could be entering a move in the middle of a game (e.g. when editing
or starting a variation).

backend.c

index da945a6..c2a5bfc 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -9084,7 +9084,7 @@ FakeBookMove: // [HGM] book: we jump here to simulate machine moves after book h
       return;
     }
     if(sscanf(message, "choice %s", promoRestrict) == 1 && promoSweep != EmptySquare) {
-      promoSweep = PieceToChar(forwardMostMove&1 ? ToLower(*promoRestrict) : ToUpper(*promoRestrict));
+      promoSweep = CharToPiece(currentMove&1 ? ToLower(*promoRestrict) : ToUpper(*promoRestrict));
       Sweep(0);
       return;
     }