Fix width of menu bar
authorH.G. Muller <h.g.muller@hccnet.nl>
Mon, 10 Mar 2014 20:15:30 +0000 (21:15 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Mon, 10 Mar 2014 20:17:32 +0000 (21:17 +0100)
The truncated name might not have been terminated with '\0'.
TinyLayout now specifies the number of characters kept in the menu names.
In the OS X version truncating is never needed, as the menu bar is
at the top of the screen, independent of board size.

gtk/xboard.h
gtk/xoptions.c

index 89dcaf7..400f75c 100644 (file)
@@ -92,10 +92,10 @@ typedef struct {
   { "Moderate", 58, 3, 34, 12, 14, 1, 0, 768 }, \
   { "Average",  54, 2, 30, 11, 12, 1, 0, 600 }, \
   { "Middling", 49, 2, 24, 10, 12, 1, 0, 600 }, \
-  { "Mediocre", 45, 2, 20, 10, 12, 1, 1, 600 }, \
-  { "Small",    40, 2, 20, 10, 12, 1, 1, 480 }, \
-  { "Slim",     37, 2, 20, 10, 12, 1, 1, 480 }, \
-  { "Petite",   33, 1, 15, 9,  11, 1, 1, 480 }, \
+  { "Mediocre", 45, 2, 20, 10, 12, 1, 4, 600 }, \
+  { "Small",    40, 2, 20, 10, 12, 1, 3, 480 }, \
+  { "Slim",     37, 2, 20, 10, 12, 1, 3, 480 }, \
+  { "Petite",   33, 1, 15, 9,  11, 1, 2, 480 }, \
   { "Dinky",    29, 1, 15, 9,  11, 1, 1, 480 }, \
   { "Teeny",    25, 1, 12, 8,  11, 1, 1, 480 }, \
   { "Tiny",     21, 1, 12, 8,  11, 1, 1, 0 }, \
index c089c9e..6c77841 100644 (file)
@@ -1549,7 +1549,9 @@ if(appData.debugMode) printf("n=%d, h=%d, w=%d\n",n,height,width);
          case DropDown:
            top--;
            msg = _(option[i].name); // write name on the menu button
-           if(tinyLayout) { strncpy(def, msg, 1); msg = def; }
+#ifndef __APPLE__
+           if(tinyLayout) { strcpy(def, msg); def[tinyLayout] = NULLCHAR; msg = def; } // clip menu text to keep menu bar small
+#endif
 //         XtSetArg(args[j], XtNmenuName, XtNewString(option[i].name));  j++;
 //         XtSetArg(args[j], XtNlabel, msg);  j++;
            option[i].handle = (void*)