Fix sending of S-Chess gating moves to ICS
[xboard.git] / backend.c
index 84692de..bec700a 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -4948,7 +4948,7 @@ SendMoveToICS(moveType, fromX, fromY, toX, toY, promoChar)
 
     if(gameInfo.variant == VariantSChess && promoChar) {
        snprintf(suffix, 4, "=%c", toX == BOARD_WIDTH<<1 ? ToUpper(promoChar) : ToLower(promoChar));
-       if(toX == BOARD_WIDTH>>1) moveType = WhitePromotion; // kludge to do gating at Rook
+       if(moveType == NormalMove) moveType = WhitePromotion; // kludge to do gating
     } else suffix[0] = NULLCHAR;
 
     switch (moveType) {
@@ -8359,6 +8359,8 @@ if(appData.debugMode) fprintf(debugFP, "nodes = %d, %lld\n", (int) programStats.
                parseList[currentMove], _(cps->which));
        DisplayMoveError(buf1);
        DrawPosition(FALSE, boards[currentMove]);
+
+       SetUserThinkingEnables();
        return;
     }
     if (strncmp(message, "time", 4) == 0 && StrStr(message, "Illegal")) {