diff options
Diffstat (limited to 'newgrf_station.c')
-rw-r--r-- | newgrf_station.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/newgrf_station.c b/newgrf_station.c index cb02b9b2f..2b699e217 100644 --- a/newgrf_station.c +++ b/newgrf_station.c @@ -137,6 +137,9 @@ void SetCustomStationSpec(StationSpec *statspec) StationClass *station_class; int i; + /* If the station has already been allocated, don't reallocate it. */ + if (statspec->allocated) return; + assert(statspec->sclass < STAT_CLASS_MAX); station_class = &station_classes[statspec->sclass]; @@ -144,6 +147,7 @@ void SetCustomStationSpec(StationSpec *statspec) station_class->spec = realloc(station_class->spec, station_class->stations * sizeof(*station_class->spec)); station_class->spec[i] = statspec; + statspec->allocated = true; } /** |