From 1637c7a00c79290ddc3e2b3604d2c50d2c4b6ac4 Mon Sep 17 00:00:00 2001 From: H.G.Muller Date: Tue, 18 Jun 2019 16:27:31 +0200 Subject: [PATCH] Fix saving of engine list 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. --- backend.c | 2 +- dialogs.c | 4 +--- winboard/wedittags.c | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/backend.c b/backend.c index f43d1e9..fe7ad95 100644 --- a/backend.c +++ b/backend.c @@ -11498,7 +11498,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(); + SaveEngineList(); } // following implemented as macro to avoid type limitations diff --git a/dialogs.c b/dialogs.c index 1372cfa..84b63fc 100644 --- a/dialogs.c +++ b/dialogs.c @@ -1246,9 +1246,7 @@ static void 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 diff --git a/winboard/wedittags.c b/winboard/wedittags.c index 63080c9..68fb54a 100644 --- a/winboard/wedittags.c +++ b/winboard/wedittags.c @@ -137,7 +137,7 @@ EditTagsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) *p++ = *q++; } *p = NULLCHAR; err = 0; - if(resPtr) *resPtr = strdup(str); else + if(resPtr) { *resPtr = strdup(str); if(resPtr == &firstChessProgramNames) SaveEngineList(); } else if(bookUp) SaveToBook(str), DisplayBook(currentMove); else err = ReplaceTags(str, &gameInfo); if (err) DisplayError(_("Error replacing tags."), err); -- 1.7.0.4