diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index 0c8d8ed014..5653efeb4f 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -781,10 +781,6 @@ bool GRFFileScanner::AddFile(const char *filename, size_t basepath_length, const bool added = FillGRFDetails(c, false); if (added) { this->grfs.push_back(c); - } else { - /* File couldn't be opened, or is either not a NewGRF or is a - * 'system' NewGRF or it's already known, so forget about it. */ - delete c; } this->num_scanned++; @@ -803,6 +799,12 @@ bool GRFFileScanner::AddFile(const char *filename, size_t basepath_length, const this->next_update = _realtime_tick + MODAL_PROGRESS_REDRAW_TIMEOUT; } + if (!added) { + /* File couldn't be opened, or is either not a NewGRF or is a + * 'system' NewGRF or it's already known, so forget about it. */ + delete c; + } + return added; }