X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=8545cde1970c1f005c24a787db3cf996cb9a4b39;hb=d789fa10ca55a4a7ca9e4ed35eb38d3f25d1f09b;hp=48a625a85f03dc988d334ea0abeddd1a7adebefc;hpb=cd63bf5b43dae0ac9d9ae1efaba0e23270f65760;p=xboard.git diff --git a/backend.c b/backend.c index 48a625a..8545cde 100644 --- a/backend.c +++ b/backend.c @@ -7075,11 +7075,9 @@ UserMoveEvent(int fromX, int fromY, int toX, int toY, int promoChar) return; } else if (toX >= 0 && toY >= 0) { if(!appData.pieceMenu && toX == fromX && toY == fromY && boards[0][rf][ff] != EmptySquare) { - ChessSquare q, p = boards[0][rf][ff]; - if(p >= BlackPawn) p = BLACK_TO_WHITE p; - if(CHUPROMOTED(p) < BlackPawn) p = q = CHUPROMOTED(boards[0][rf][ff]); - else p = CHUDEMOTED (q = boards[0][rf][ff]); - if(PieceToChar(q) == '+') gatingPiece = p; + ChessSquare p = boards[0][rf][ff]; + if(PieceToChar(p) == '+') gatingPiece = CHUDEMOTED(p); else + if(PieceToChar(CHUPROMOTED(p)) =='+') gatingPiece = CHUPROMOTED(p); } boards[0][toY][toX] = boards[0][fromY][fromX]; if(fromX == BOARD_LEFT-2) { // handle 'moves' out of holdings