X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=564b95ea45faed2ac146d4ce9cf6bcbc8617c30a;hb=ba7645365e2048776a32c813e39e5c7ae53dea6f;hp=52fb5156abf849c668cb4a2d771fa8d5e1958207;hpb=ad3790c613d301fb6f234e78cb63a5a743bde0d6;p=xboard.git diff --git a/backend.c b/backend.c index 52fb515..564b95e 100644 --- a/backend.c +++ b/backend.c @@ -7102,6 +7102,9 @@ LeftClick (ClickType clickType, int xPix, int yPix) return; } doubleClick = FALSE; + if(gameMode == AnalyzeMode && pausing && first.excludeMoves) { // use pause state to exclude moves + doubleClick = TRUE; gatingPiece = boards[currentMove][y][x]; + } fromX = x; fromY = y; toX = toY = -1; if(!appData.oneClick || !OnlyMove(&x, &y, FALSE) || // even if only move, we treat as normal when this would trigger a promotion popup, to allow sweep selection @@ -10203,9 +10206,10 @@ GetEngineLine (char *s, int n) char buf[MSG_SIZ]; extern char *icsNames; if(!s || !*s) return 0; - NamesToList(n == 10 ? icsNames : firstChessProgramNames, command, mnemonic, "all"); + NamesToList(n >= 10 ? icsNames : firstChessProgramNames, command, mnemonic, "all"); for(i=1; mnemonic[i]; i++) if(!strcmp(s, mnemonic[i])) break; if(!mnemonic[i]) return 0; + if(n == 11) return 1; // just testing if there was a match snprintf(buf, MSG_SIZ, "-%s %s", n == 10 ? "icshost" : "fcp", command[i]); if(n == 1) SwapEngines(n); ParseArgsFromString(buf); @@ -13378,6 +13382,7 @@ PauseEvent () WhiteOnMove(forwardMostMove))) { StopClocks(); } + case AnalyzeMode: pausing = TRUE; ModeHighlight(); break;