mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-06 14:27:16 +00:00
(svn r20066) -Fix: When rescanning NewGRFs resp. after content download also check whether compatible grfs are available now.
This commit is contained in:
parent
ddf11b7d3f
commit
4f51623d12
@ -713,20 +713,20 @@ struct NewGRFWindow : public QueryStringBaseWindow {
|
||||
|
||||
case 1:
|
||||
/* Search the list for items that are now found and mark them as such. */
|
||||
for (GRFConfig *c = this->actives; c != NULL; c = c->next) {
|
||||
if (c->status != GCS_NOT_FOUND) continue;
|
||||
for (GRFConfig **l = &this->actives; *l != NULL; l = &(*l)->next) {
|
||||
GRFConfig *c = *l;
|
||||
bool compatible = HasBit(c->flags, GCF_COMPATIBLE);
|
||||
if (c->status != GCS_NOT_FOUND && !compatible) continue;
|
||||
|
||||
const GRFConfig *f = FindGRFConfig(c->ident.grfid, c->ident.md5sum);
|
||||
const GRFConfig *f = FindGRFConfig(c->ident.grfid, compatible ? c->original_md5sum : c->ident.md5sum);
|
||||
if (f == NULL) continue;
|
||||
|
||||
free(c->filename);
|
||||
free(c->name);
|
||||
free(c->info);
|
||||
*l = DuplicateGRFConfig(f);
|
||||
(*l)->next = c->next;
|
||||
|
||||
c->filename = f->filename == NULL ? NULL : strdup(f->filename);
|
||||
c->name = f->name == NULL ? NULL : strdup(f->name);
|
||||
c->info = f->info == NULL ? NULL : strdup(f->info);
|
||||
c->status = GCS_UNKNOWN;
|
||||
if (active_sel == c) active_sel = *l;
|
||||
|
||||
delete c;
|
||||
}
|
||||
/* Fall through. */
|
||||
case 4:
|
||||
|
Loading…
Reference in New Issue
Block a user