X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=backend.c;h=e5c7f7271d8c0823c4b1408f0c2fa13f3eaf4a93;hb=ee5c4592139dec24b8514a6fd217600fa414a9a3;hp=43d9b1f8da40ff20debcbbbf7002144603a27d15;hpb=61d7701742047bbb6be9677d2a59f63f307b8f80;p=xboard.git diff --git a/backend.c b/backend.c index 43d9b1f..e5c7f72 100644 --- a/backend.c +++ b/backend.c @@ -11401,6 +11401,7 @@ SaveEngineSettings (int n) { int len; char *p, *q, *s, buf[MSG_SIZ], *optionSettings; if(!currentEngine[n] || !currentEngine[n][0]) { DisplayMessage("saving failed: engine not from list", ""); return; } // no engine from list is loaded + if(*engineListFile) ParseSettingsFile(engineListFile, &engineListFile); // update engine list p = strstr(firstChessProgramNames, currentEngine[n]); if(!p) { DisplayMessage("saving failed: engine not found in list", ""); return; } // sanity check; engine could be deleted from list after loading optionSettings = ResendOptions(n ? &second : &first, FALSE); @@ -11420,6 +11421,7 @@ SaveEngineSettings (int n) s = malloc(len); snprintf(s, len, "%s%s%s", firstChessProgramNames, currentEngine[n], q); FREE(firstChessProgramNames); firstChessProgramNames = s; // new list + if(*engineListFile) SaveEngineList(); } // following implemented as macro to avoid type limitations