summaryrefslogtreecommitdiff
path: root/src/newgrf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/newgrf.cpp')
-rw-r--r--src/newgrf.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index 1c0aed0e9..9ddc095eb 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -2712,7 +2712,14 @@ static void GRFError(byte *buf, int len)
return;
}
- grfmsg(0, msgstr[(message_id == 0xFF) ? lengthof(msgstr) - 1 : message_id], sevstr[severity], grf_load_string(&buf, len));
+ char message[512];
+ snprintf(message, lengthof(message), msgstr[(message_id == 0xFF) ? lengthof(msgstr) - 1 : message_id], sevstr[severity], grf_load_string(&buf, len));
+
+ if (_cur_grfconfig->error == NULL) {
+ _cur_grfconfig->error = strdup(message);
+ }
+
+ grfmsg(0, message);
}
/* Action 0x0C */