Fix spurious clearing of Engine Output during PV walk
authorH.G.Muller <hgm@hgm-xboard.(none)>
Sun, 6 Mar 2016 22:52:06 +0000 (23:52 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 8 Mar 2016 18:29:58 +0000 (19:29 +0100)
Due to messing with forwardMostMove during PV walking the Engine Output
panes couldbe cleared when a new PV arrived.

engineoutput.c
engineoutput.h

index 2d0bd06..4e00960 100644 (file)
@@ -222,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;
     }
 
@@ -257,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 );
 }
index b3015a5..21bb6d1 100644 (file)
@@ -56,7 +56,7 @@ enum ENGINE_STATE { STATE_UNKNOWN, STATE_THINKING, STATE_IDLE, STATE_PONDERING,
 
 extern int  windowMode;
 extern char exclusionHeader[];
-extern int highTextStart[2], highTextEnd[2];
+extern int highTextStart[2], highTextEnd[2], endPV;
 
 // back-end called by front-end
 void SetEngineState( int which, enum ENGINE_STATE state, char * state_data );