diff options
Diffstat (limited to 'src/waypoint.cpp')
-rw-r--r-- | src/waypoint.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/waypoint.cpp b/src/waypoint.cpp index fe74d7ca7..4bd46efe0 100644 --- a/src/waypoint.cpp +++ b/src/waypoint.cpp @@ -353,7 +353,11 @@ int32 CmdRenameWaypoint(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) Station *ComposeWaypointStation(TileIndex tile) { Waypoint *wp = GetWaypointByTile(tile); - static Station stat; + + /* instead of 'static Station stat' use byte array to avoid Station's destructor call upon exit. As + * a side effect, the station is not constructed now. */ + static byte stat_raw[sizeof Station]; + static Station &stat = *(Station*)stat_raw; stat.train_tile = stat.xy = wp->xy; stat.town = GetTown(wp->town_index); |