summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/newgrf.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index 6241d679d..549981db5 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -4398,6 +4398,16 @@ static void ResetNewGRF()
_cur_grffile = NULL;
}
+static void ResetNewGRFErrors()
+{
+ for (GRFConfig *c = _grfconfig; c != NULL; c = c->next) {
+ if (!HASBIT(c->flags, GCF_COPY) && c->error != NULL) {
+ free(c->error);
+ c->error = NULL;
+ }
+ }
+}
+
/**
* Reset all NewGRF loaded data
* TODO
@@ -4465,6 +4475,9 @@ static void ResetNewGRFData()
/* Reset NewGRF files */
ResetNewGRF();
+ /* Reset NewGRF errors. */
+ ResetNewGRFErrors();
+
/* Add engine type to engine data. This is needed for the refit precalculation. */
AddTypeToEngines();