X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=engineoutput.c;h=4e009603c6d60d086729c0136a800a20eaafa436;hb=bdd0f0fcdb5c4630189299f24b427b2dffd63558;hp=0bfd8b5923250a7063524b9ad9088b64f631d604;hpb=f49e7e17e3b4e66fb70f0a9416ed65b5e4516d7d;p=xboard.git diff --git a/engineoutput.c b/engineoutput.c index 0bfd8b5..4e00960 100644 --- a/engineoutput.c +++ b/engineoutput.c @@ -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; } @@ -232,9 +233,11 @@ SetProgramStats (FrontEndProgramStats * stats) // now directly called by back-en if(gameMode == AnalyzeMode) { ChessProgramState *cps = (which ? &second : &first); char *exclu = cps->excludeMoves ? exclusionHeader : ""; - if((multi = MultiPV(cps)) >= 0) { - snprintf(header[which], MSG_SIZ, "\t%s viewpoint\t\tfewer / Multi-PV setting = %d / more\n", - appData.whitePOV || appData.scoreWhite ? "white" : "mover", cps->option[multi].value); + if((multi = MultiPV(cps, 3)) != -1) { + char *s = "setting"; + if(multi < -1) multi = -2 - multi, s = "margin"; + snprintf(header[which], MSG_SIZ, "\t%s viewpoint\t\tfewer / Multi-PV %s = %d / more\n", + appData.whitePOV || appData.scoreWhite ? "white" : "mover", s, cps->option[multi].value); } if(!which) snprintf(header[which]+strlen(header[which]), MSG_SIZ-strlen(header[which]), "%s%s", exclu, columnHeader); InsertIntoMemo( which, header[which], 0); @@ -254,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 ); } @@ -700,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);