summaryrefslogtreecommitdiff
path: root/src/saveload/oldloader_sl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/saveload/oldloader_sl.cpp')
-rw-r--r--src/saveload/oldloader_sl.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp
index 14db853bf..8a45d587b 100644
--- a/src/saveload/oldloader_sl.cpp
+++ b/src/saveload/oldloader_sl.cpp
@@ -1477,7 +1477,10 @@ static const OldChunks subsidy_chunk[] = {
static bool LoadOldSubsidy(LoadgameState *ls, int num)
{
- return LoadChunk(ls, &Subsidy::array[num], subsidy_chunk);
+ Subsidy *s = new (num) Subsidy();
+ bool ret = LoadChunk(ls, s, subsidy_chunk);
+ if (s->cargo_type == CT_INVALID) delete s;
+ return ret;
}
static const OldChunks game_difficulty_chunk[] = {