Fix spurious clearing of Engine Output during PV walk
[xboard.git] / engineoutput.c
index 29447e7..4e00960 100644 (file)
@@ -5,7 +5,8 @@
  *
  * Copyright 2005 Alessandro Scotti
  *
- * Enhancements Copyright 1995, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
+ * Enhancements Copyright 1995, 2009, 2010, 2011, 2012, 2013, 2014,
+ * 2015, 2016 Free Software Foundation, Inc.
  *
  * ------------------------------------------------------------------------
  *
@@ -221,7 +222,7 @@ SetProgramStats (FrontEndProgramStats * stats) // now directly called by back-en
         clearMemo = TRUE;
     }
 
-    if( lastForwardMostMove[which] != forwardMostMove ) {
+    if( lastForwardMostMove[which] != forwardMostMove && endPV < 0) {
         clearMemo = TRUE;
     }
 
@@ -256,7 +257,7 @@ SetProgramStats (FrontEndProgramStats * stats) // now directly called by back-en
 
     /* Update */
     lastDepth[which] = depth == 1 && ed.nodes == 0 ? 0 : depth; // [HGM] info-line kudge
-    lastForwardMostMove[which] = forwardMostMove;
+    if(endPV < 0) lastForwardMostMove[which] = forwardMostMove; // not during PV walk!
 
     UpdateControls( &ed );
 }
@@ -702,7 +703,7 @@ OutputKibitz (int window, char *text)
        }
        opponentKibitzes = TRUE; // this causes split window DisplayMode in ICS modes.
        VerifyDisplayMode();
-       strncpy(text+strlen(text)-1, "\r\n",sizeof(text+strlen(text)-1)); // to not lose line breaks on copying
+       strncpy(text+strlen(text)-1, "\r\n", 4); // to not lose line breaks on copying
        if(gameMode == IcsObserving) {
            DoSetWindowText(0, nLabel, gameInfo.white);
            SetIcon( 0, nColorIcon,  nColorWhite);