X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=menus.c;h=a75bf5f35573eda4058ffa442e4615900ab09476;hb=4b31713470178d16b972c3ed6beed0b467461291;hp=1d0e23d0d6aa30feb718ab52afc1ea4823e9faa6;hpb=81fccf197070389b0f540cfdaccc2660764f2a1f;p=xboard.git diff --git a/menus.c b/menus.c index 1d0e23d..a75bf5f 100644 --- a/menus.c +++ b/menus.c @@ -677,7 +677,7 @@ MenuItem actionMenu[] = { {NULL, NULL, NULL} }; -MenuItem engineMenu[] = { +MenuItem engineMenu[100] = { {N_("Load New 1st Engine ..."), "LoadNew1stEngine", LoadEngine1Proc}, {N_("Load New 2nd Engine ..."), "LoadNew2ndEngine", LoadEngine2Proc}, {"----", NULL, NothingProc}, @@ -820,18 +820,22 @@ MenuNameToItem (char *menuName) return NULL; // item not found } +int firstEngineItem; + void AppendEnginesToMenu (char *list) { int i=0; char *p; if(appData.icsActive || appData.recentEngines <= 0) return; + for(firstEngineItem=0; engineMenu[firstEngineItem].string; firstEngineItem++); recentEngines = strdup(list); while (*list) { p = strchr(list, '\n'); if(p == NULL) break; - if(i == 0) AppendMenuItem("----", 0); // at least one valid item to add + if(i == 0) engineMenu[firstEngineItem++].string = "----"; // at least one valid item to add *p = 0; - AppendMenuItem(list, i); + if(firstEngineItem + i < 99) + engineMenu[firstEngineItem+i].string = strdup(list); // just set name; MenuProc stays NULL i++; *p = '\n'; list = p + 1; } }