X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=c531656bed48f42a754c3587762858d3b45cdc9f;hb=d81f573a5e990af8eb8de5efdea8aa156aa97c1e;hp=fd955fe1f30ce798e0e8efd49c21ee80eda83b78;hpb=f25baeff5c938adec15bfd8c54094dddc112802d;p=xboard.git diff --git a/backend.c b/backend.c index fd955fe..c531656 100644 --- a/backend.c +++ b/backend.c @@ -952,6 +952,7 @@ SaveEngineList () void AddToEngineList (int i) { + if(addToList) { int len; char quote, buf[MSG_SIZ]; char *q = firstChessProgramNames, *p = newEngineCommand; @@ -975,6 +976,7 @@ AddToEngineList (int i) SaveEngineList(); FloatToFront(&appData.recentEngineList, buf); ASSIGN(currentEngine[i], buf); + } } void @@ -9055,7 +9057,7 @@ FakeBookMove: // [HGM] book: we jump here to simulate machine moves after book h GameEnds(cps->twoMachinesColor[0] == 'w' ? BlackWins : WhiteWins, buf1, GE_XBOARD); return; - } else if(!appData.fischerCastling) + } else if(!appData.fischerCastling && toX != BOARD_WIDTH>>1) /* [HGM] Kludge to handle engines that send FRC-style castling when they shouldn't (like TSCP-Gothic) */ switch(moveType) { @@ -9246,7 +9248,7 @@ FakeBookMove: // [HGM] book: we jump here to simulate machine moves after book h cps->useSigterm = FALSE; } if (strncmp(message, "feature ", 8) == 0) { // [HGM] moved forward to pre-empt non-compliant commands - ParseFeatures(message+8, cps); if(tryNr < 3) tryNr = 3; + ParseFeatures(message+8, cps); if(tryNr && tryNr < 3) tryNr = 3; return; // [HGM] This return was missing, causing option features to be recognized as non-compliant commands! }