fix for bug #27826: fixed autoDisplayComment
authorH.G. Muller <h.g.muller@hccnet.nl>
Tue, 27 Oct 2009 22:32:07 +0000 (15:32 -0700)
committerArun Persaud <arun@nubati.net>
Tue, 27 Oct 2009 22:32:07 +0000 (15:32 -0700)
apparently the -autoDisplayComment option was not working,
not even in WinBoard. This patch should fix it,both for WB and XB.
(Unfortunately xboard.c and winboard.c were using a different name
for the same front-end variable I needed, so I had to change one of them.)

backend.c
frontend.h
winboard/winboard.c

index 9f6af34..6f4fa71 100755 (executable)
--- a/backend.c
+++ b/backend.c
@@ -13024,26 +13024,23 @@ DisplayComment(moveNumber, text)
     char title[MSG_SIZ];
     char buf[8000]; // comment can be long!
     int score, depth;
-
-    if( appData.autoDisplayComment ) {
-        if (moveNumber < 0 || parseList[moveNumber][0] == NULLCHAR) {
-           strcpy(title, "Comment");
-        } else {
-           sprintf(title, "Comment on %d.%s%s", moveNumber / 2 + 1,
-                   WhiteOnMove(moveNumber) ? " " : ".. ",
-                   parseList[moveNumber]);
-        }
-       // [HGM] PV info: display PV info together with (or as) comment
-       if(moveNumber >= 0 && (depth = pvInfoList[moveNumber].depth) > 0) {
-           if(text == NULL) text = "";                                           
-           score = pvInfoList[moveNumber].score;
-           sprintf(buf, "%s%.2f/%d %d\n%s", score>0 ? "+" : "", score/100.,
-                              depth, (pvInfoList[moveNumber].time+50)/100, text);
-           text = buf;
-       }
-    } else title[0] = 0;
-
-    if (text != NULL)
+    
+    if (moveNumber < 0 || parseList[moveNumber][0] == NULLCHAR) {
+      strcpy(title, "Comment");
+    } else {
+      sprintf(title, "Comment on %d.%s%s", moveNumber / 2 + 1,
+             WhiteOnMove(moveNumber) ? " " : ".. ",
+             parseList[moveNumber]);
+    }
+    // [HGM] PV info: display PV info together with (or as) comment
+    if(moveNumber >= 0 && (depth = pvInfoList[moveNumber].depth) > 0) {
+      if(text == NULL) text = "";                                           
+      score = pvInfoList[moveNumber].score;
+      sprintf(buf, "%s%.2f/%d %d\n%s", score>0 ? "+" : "", score/100.,
+             depth, (pvInfoList[moveNumber].time+50)/100, text);
+      text = buf;
+    }
+    if (text != NULL && (appData.autoDisplayComment || commentUp))
         CommentPopUp(title, text);
 }
 
index 0e782e1..ed92687 100644 (file)
@@ -183,6 +183,7 @@ void HistorySet P((char movelist[][2*MOVE_LEN], int first, int last, int current
 void FreezeUI P((void));
 void ThawUI P((void));
 extern char *programName;
+extern int commentUp;
 
 typedef struct FrontEndProgramStats_TAG {
     int which;
index 9782495..5a8df2b 100644 (file)
@@ -347,7 +347,7 @@ static char *commentText;
 static int commentIndex;\r
 static Boolean editComment = FALSE;\r
 HWND commentDialog = NULL;\r
-BOOLEAN commentDialogUp = FALSE;\r
+int commentUp = FALSE;\r
 static int commentX, commentY, commentH, commentW;\r
 \r
 static char *analysisTitle;\r
@@ -5780,7 +5780,7 @@ WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
       break;\r
 \r
     case IDM_EditComment:\r
-      if (commentDialogUp && editComment) {\r
+      if (commentUp && editComment) {\r
        CommentPopDown();\r
       } else {\r
        EditCommentEvent();\r
@@ -7136,14 +7136,14 @@ EitherCommentPopUp(int index, char *title, char *str, BOOLEAN edit)
 \r
   if (commentDialog) {\r
     SendMessage(commentDialog, WM_INITDIALOG, 0, 0);\r
-    if (!commentDialogUp) ShowWindow(commentDialog, SW_SHOW);\r
+    if (!commentUp) ShowWindow(commentDialog, SW_SHOW);\r
   } else {\r
     lpProc = MakeProcInstance((FARPROC)CommentDialog, hInst);\r
     CreateDialog(hInst, MAKEINTRESOURCE(DLG_EditComment),\r
                 hwndMain, (DLGPROC)lpProc);\r
     FreeProcInstance(lpProc);\r
   }\r
-  commentDialogUp = TRUE;\r
+  commentUp = TRUE;\r
 }\r
 \r
 \r
@@ -9436,7 +9436,7 @@ CommentPopDown(void)
   if (commentDialog) {\r
     ShowWindow(commentDialog, SW_HIDE);\r
   }\r
-  commentDialogUp = FALSE;\r
+  commentUp = FALSE;\r
 }\r
 \r
 VOID\r