X-Git-Url: http://winboard.nl/cgi-bin?p=uci2wb.git;a=blobdiff_plain;f=UCI2WB.c;h=dffac3b37098030c560d70cdb657431600f2371d;hp=dddb073f5e24f122879768adf5462976c5b10977;hb=05c7d739a244a923c0f3e90bcb10f3db9f5e670c;hpb=95996bd376f95541530f66cf27ad54949cb46d3c diff --git a/UCI2WB.c b/UCI2WB.c index dddb073..dffac3b 100644 --- a/UCI2WB.c +++ b/UCI2WB.c @@ -395,12 +395,12 @@ Move4Engine(char *m) void GUI2Engine() { - char line[256], command[256], *p, *q, *r, mySide; + char line[256], command[256], *p, *q, *r, mySide, searching = 0; while(1) { int i, x; - if((computer == stm || computer == ANALYZE) && !suspended) { + if((computer == stm || computer == ANALYZE && !searching) && !suspended) { DPRINT("# start search\n"); LoadPos(moveNr); fflush(stdout); // load position // and set engine thinking (note USI swaps colors!) @@ -411,8 +411,7 @@ GUI2Engine() fprintf(toE, " searchmoves"); DPRINT(" searchmoves"); for(i=1; i 0) fprintf(toE, "setoption name UCI_Chess960 value true\n"); } } else if(!strcmp(command, "undo") && (i=1) || !strcmp(command, "remove") && (i=2)) { - if(pondering || computer == ANALYZE) StopPonder(1); + if(pondering || computer == ANALYZE) StopPonder(1), searching = 0; moveNr = moveNr > i ? moveNr - i : 0; collect = (computer == ANALYZE); sm = 0; } else if(!strcmp(command, ".")) { @@ -510,7 +510,7 @@ GUI2Engine() inex = 1; line[strlen(line)-1] = sm = 0; // strip LF and clear sm flag for(i=1; i