Fix showing of user move after adjudication
authorH.G. Muller <h.g.muller@hccnet.nl>
Mon, 14 Feb 2011 10:09:24 +0000 (11:09 +0100)
committerArun Persaud <apersaud@lbl.gov>
Tue, 15 Feb 2011 06:57:51 +0000 (22:57 -0800)
The correction of the fishy patch (removing ShowMove() from Adjudicate())
had broken the adjudication of user moves (that actually did work before
the fishy patch, because there the gobal fromX/Y and toX/Y do contain
the correct values for the move to be shown). An entered move that led
to adjudication (like a checkmate) now was not displayed at all. Adding
an extra ShowMove() after (successful) return of Adudicate() solves it.

backend.c

index ae15f1a..d281a92 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -6188,7 +6188,10 @@ FinishMove(moveType, fromX, fromY, toX, toY, promoChar)
 
   MakeMove(fromX, fromY, toX, toY, promoChar); /*updates forwardMostMove*/
 
-  if(Adjudicate(NULL)) return 1; // [HGM] adjudicate: take care of automtic game end
+  if(Adjudicate(NULL)) { // [HGM] adjudicate: take care of automatic game end
+    ShowMove(fromX, fromY, toX, toY); /*updates currentMove*/
+    return 1;
+  }
 
   if (gameMode == BeginningOfGame) {
     if (appData.noChessProgram) {