close ics analyze if user close analysis window + Display ics analyze action
[xboard.git] / xboard.c
index 3d5081d..af116f0 100644 (file)
--- a/xboard.c
+++ b/xboard.c
@@ -1147,6 +1147,10 @@ XtResource clientResources[] = {
     { "showButtonBar", "showButtonBar", XtRBoolean,
        sizeof(Boolean), XtOffset(AppDataPtr, showButtonBar),
        XtRImmediate, (XtPointer) True },
+       /* icsEngineAnalyze */
+    {"icsEngineAnalyze", "icsEngineAnalyze", XtRBoolean,
+       sizeof(Boolean), XtOffset(AppDataPtr, icsEngineAnalyze),
+       XtRImmediate, (XtPointer) False },
 };
 
 XrmOptionDescRec shellOptions[] = {
@@ -2466,9 +2470,6 @@ XBoard square size (hint): %d\n\
                    args, 1);
     }
 
-    /* icsEngineAnalyze - default init */
-    appData.icsEngineAnalyze = FALSE;
-
     /*
      * Create an icon.
      */
@@ -5028,6 +5029,8 @@ void AnalysisPopDown()
     XtPopdown(analysisShell);
     XSync(xDisplay, False);
     analysisUp = False;
+    /* icsEngineAnalyze */
+    if (appData.icsEngineAnalyze) ExitAnalyzeMode();
 }
 
 
@@ -5877,7 +5880,6 @@ void AnalyzeModeProc(w, event, prms, nprms)
        if (appData.icsEngineAnalyze) {
          if (appData.debugMode)
            fprintf(debugFP, _("Found unexpected active ICS engine analyze \n"));
-           appData.icsEngineAnalyze = FALSE;
            ExitAnalyzeMode();
            ModeHighlight();
            return;
@@ -5886,7 +5888,6 @@ void AnalyzeModeProc(w, event, prms, nprms)
      } else {
         /* if enable, use want disable icsEngineAnalyze */
        if (appData.icsEngineAnalyze) {
-           appData.icsEngineAnalyze = FALSE;
           ExitAnalyzeMode();
           ModeHighlight();
           return;