} else if (count == 0) {
RemoveInputSource(isr);
- DisplayFatalError(_("Connection closed by ICS"), 0, 0);
+ DisplayFatalError(_("Connection closed by ICS"), 0, 6666);
} else {
DisplayFatalError(_("Error reading from ICS"), error, 1);
}
* deprecated "black" command.
*/
if (!WhiteOnMove(moveNum)) // [HGM] but better a deprecated command than an illegal move...
- SendToProgram(boards[0][1][BOARD_LEFT] == WhitePawn ? "a2a3\n" : "black\n", cps);
+ SendToProgram(boards[0][1][BOARD_LEFT] == WhitePawn && !pieceDesc[WhitePawn] ? "a2a3\n" : "black\nforce\n", cps);
if(!cps->extendedEdit) left = BOARD_LEFT, right = BOARD_RGHT; // only board proper
safeStrCpy(bookMove, "move ", sizeof(bookMove)/sizeof(bookMove[0]));
strcat(bookMove, bookHit);
- HandleMachineMove(bookMove, &first);
+ savedMessage = bookMove; // args for deferred call
+ savedState = &first;
+ ScheduleDelayedEvent(DeferredBookMove, 1);
}
}
safeStrCpy(bookMove, "move ", sizeof(bookMove)/sizeof(bookMove[0]));
strcat(bookMove, bookHit);
- HandleMachineMove(bookMove, &first);
+ savedMessage = bookMove; // args for deferred call
+ savedState = &first;
+ ScheduleDelayedEvent(DeferredBookMove, 1);
}
}