X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=dialogs.c;h=cb3d3e87636ad17a88604b28e6d5d6fcec1c38ac;hb=bc72fe0bf97a02ce30add62fd0275bca4a6ee11d;hp=d0c372a9c49a5253f77e48a320c9e974175787d7;hpb=a6e61c9b9dac10313dedc401f47d82038753189f;p=xboard.git diff --git a/dialogs.c b/dialogs.c index d0c372a..cb3d3e8 100644 --- a/dialogs.c +++ b/dialogs.c @@ -1216,7 +1216,7 @@ static int NewTagsCallback (int n) { if(bookUp) SaveToBook(tagsText), DisplayBook(currentMove); else - if(resPtr) { ASSIGN(*resPtr, tagsText); } else + if(resPtr) { ASSIGN(*resPtr, tagsText); if(resPtr == &firstChessProgramNames) SaveEngineList(); } else ReplaceTags(tagsText, &gameInfo); return 1; } @@ -1557,6 +1557,7 @@ EngSel (int n, int sel) static void LoadEngineProc (int engineNr, char *title) { + if(*engineListFile) ParseSettingsFile(engineListFile, &engineListFile); // contains engine list isUCI = isUSI = storeVariant = v1 = useNick = False; addToList = hasBook = True; // defaults secondEng = engineNr; if(engineLine) free(engineLine); engineLine = strdup(""); @@ -2523,12 +2524,12 @@ DisplayMoveError (String message) void DisplayFatalError (String message, int error, int status) { - char buf[MSG_SIZ]; + char buf[MSG_SIZ], logout = appData.icsActive; if(status == 666) { // ignore this error when ICS Console window is up if(shellUp[ChatDlg]) return; status = 0; - } + } else if(status == 6666) status = logout = 0; // 6666 = kludge that indicates ICS connection already closed errorExitStatus = status; if (error == 0) { @@ -2541,7 +2542,7 @@ DisplayFatalError (String message, int error, int status) } if(mainOptions[W_BOARD].handle) { if (appData.popupExitMessage) { - if(appData.icsActive) SendToICS("logout\n"); // [HGM] make sure no new games will be started + if(logout) SendToICS("logout\n"); // [HGM] make sure no new games will be started ErrorPopUp(status ? _("Fatal Error") : _("Exiting"), message, TRUE); } else { ExitEvent(status);