summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--newgrf.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/newgrf.c b/newgrf.c
index 7a50859f0..3277d9a95 100644
--- a/newgrf.c
+++ b/newgrf.c
@@ -3165,7 +3165,18 @@ static void ResetCustomStations(void)
free(statspec->renderdata);
}
- // TODO: Release platforms and layouts
+ /* Release platforms and layouts */
+ if (!statspec->copied_layouts) {
+ uint l, p;
+ for (l = 0; l < statspec->lengths; l++) {
+ for (p = 0; p < statspec->platforms[l]; p++) {
+ free(statspec->layouts[l][p]);
+ }
+ free(statspec->layouts[l]);
+ }
+ free(statspec->layouts);
+ free(statspec->platforms);
+ }
/* Release this station */
free(statspec);