Remove some of the most verbose debug output
[xboard.git] / xoptions.c
index 8b9b644..7de5912 100644 (file)
@@ -220,13 +220,13 @@ CreateComboPopup (Widget parent, Option *option, int n)
     int i=0, j;
     Widget menu, entry;
     Arg args[16];
+    char **mb = (char **) option->textValue;
 
+    if(mb[0] == NULL) return; // avoid empty menus, as they cause crash
     menu = XtCreatePopupShell(option->name, simpleMenuWidgetClass,
                              parent, NULL, 0);
     j = 0;
     XtSetArg(args[j], XtNwidth, 100);  j++;
-//    XtSetArg(args[j], XtNright, XtChainRight);  j++;
-    char **mb = (char **) option->textValue;
     while (mb[i] != NULL) 
       {
        if (option->min & NO_GETTEXT)
@@ -1095,8 +1095,9 @@ GenericPopUp (Option *option, char *title, int dlgNr)
            XtSetArg(args[j], XtNfromHoriz, dialog);  j++;
            XtSetArg(args[j], XtNborderWidth, 1); j++;
            XtSetArg(args[j], XtNwidth, w); j++;
+           XtSetArg(args[j], XtNheight, textHeight);  j++; // [HGM] use message widget
            if(option[i].type == TextBox && option[i].min) {
-               XtSetArg(args[j], XtNheight, option[i].min); j++;
+               XtSetArg(args[j-1], XtNheight, option[i].min); // overwrite
                if(option[i].value & 1) { XtSetArg(args[j], XtNscrollVertical, XawtextScrollAlways);  j++; }
                if(option[i].value & 2) { XtSetArg(args[j], XtNscrollHorizontal, XawtextScrollAlways);  j++; }
                if(option[i].value & 4) { XtSetArg(args[j], XtNautoFill, True);  j++; }
@@ -1153,9 +1154,18 @@ GenericPopUp (Option *option, char *title, int dlgNr)
            break;
          case CheckBox:
            if(!currentCps) option[i].value = *(Boolean*)option[i].target;
-           j=0;
+           j=0; // space holder
            XtSetArg(args[j], XtNfromVert, last);  j++;
            XtSetArg(args[j], XtNwidth, 10);  j++;
+           XtSetArg(args[j], XtNheight, textHeight-22);  j++;
+           XtSetArg(args[j], XtNleft, XtChainLeft); j++;
+           XtSetArg(args[j], XtNright, XtChainLeft); j++;
+           XtSetArg(args[j], XtNborderWidth, 0);  j++;
+           if(textHeight < 24) dialog = last; else
+               dialog = XtCreateManagedWidget(" ", labelWidgetClass, form, args, j);
+           j=0;
+           XtSetArg(args[j], XtNfromVert, dialog);  j++;
+           XtSetArg(args[j], XtNwidth, 10);  j++;
            XtSetArg(args[j], XtNheight, 10);  j++;
            XtSetArg(args[j], XtNleft, XtChainLeft); j++;
            XtSetArg(args[j], XtNright, XtChainLeft); j++;
@@ -1413,7 +1423,7 @@ OptionsProc (Widget w, XEvent *event, String *prms, Cardinal *nprms)
 void
 MatchOptionsProc (Widget w, XEvent *event, String *prms, Cardinal *nprms)
 {
-   NamesToList(firstChessProgramNames, engineList, engineMnemonic);
+   NamesToList(firstChessProgramNames, engineList, engineMnemonic, "all");
    comboCallback = &AddToTourney;
    matchOptions[5].min = -(appData.pairingEngine[0] != NULLCHAR); // with pairing engine, allow Swiss
    ASSIGN(tfName, appData.tourneyFile[0] ? appData.tourneyFile : MakeName(appData.defName));
@@ -1742,7 +1752,7 @@ LoadEngineProc (Widget w, XEvent *event, String *prms, Cardinal *nprms)
    if(engineDir)    free(engineDir);    engineDir = strdup("");
    if(nickName)     free(nickName);     nickName = strdup("");
    if(params)       free(params);       params = strdup("");
-   NamesToList(firstChessProgramNames, engineList, engineMnemonic);
+   NamesToList(firstChessProgramNames, engineList, engineMnemonic, "all");
    GenericPopUp(installOptions, _("Load engine"), 0);
 }