When a separate engine listw as specified it was only saved after altering
engine settings. Not after Edit Engine List or on exit. Now it is saved
after editing, but not on exit. The latter should cause less loss of data
when multiple instances of WinBoard are open.
s = malloc(len);
snprintf(s, len, "%s%s%s", firstChessProgramNames, currentEngine[n], q);
FREE(firstChessProgramNames); firstChessProgramNames = s; // new list
- if(*engineListFile) SaveEngineList();
+ SaveEngineList();
}
// following implemented as macro to avoid type limitations
changeTags (int n)
{
GenericReadout(tagsOptions, 1);
- if(bookUp) SaveToBook(tagsText), DisplayBook(currentMove); else
- if(resPtr) { ASSIGN(*resPtr, tagsText); } else
- ReplaceTags(tagsText, &gameInfo);
+ NewTagsCallback(0);
}
void
*p++ = *q++;\r
}\r
*p = NULLCHAR; err = 0;\r
- if(resPtr) *resPtr = strdup(str); else\r
+ if(resPtr) { *resPtr = strdup(str); if(resPtr == &firstChessProgramNames) SaveEngineList(); } else\r
if(bookUp) SaveToBook(str), DisplayBook(currentMove); else\r
err = ReplaceTags(str, &gameInfo);\r
if (err) DisplayError(_("Error replacing tags."), err);\r