# HG changeset patch # User Darkvater # Date 1138564201 0 # Node ID 4e124e5a8b69875dcbca7bc8aba7a3f8da3fd20f # Parent 63793c1bc56401b8871c033314adc727770e7daf (svn r3475) - Fix: you couldn't remove an item from a list-type of config ingame from the configuration file. Whatever you did, upon restart of OpenTTD those items were still there. To fix this we initialize the first item to NULL in SaveList as it is rebuilt anyways fully. diff --git a/settings.c b/settings.c --- a/settings.c +++ b/settings.c @@ -305,10 +305,10 @@ f = fopen(filename, "w"); if (f == NULL) return false; - for(group = ini->group; group; group = group->next) { + for (group = ini->group; group != NULL; group = group->next) { if (group->comment) fputs(group->comment, f); fprintf(f, "[%s]\n", group->name); - for(item = group->item; item; item = item->next) { + for (item = group->item; item != NULL; item = item->next) { if (item->comment) fputs(item->comment, f); if(group->type==IGT_LIST) fprintf(f, "%s\n", item->value ? item->value : ""); @@ -1057,8 +1057,9 @@ int i; bool first = true; - if (!group) - return; + if (group == NULL) return; + group->item = NULL; + for (i = 0; i != len; i++) { if (list[i] == NULL || list[i][0] == '\0') continue;