summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/station_cmd.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index 05e837287..e2c232ac7 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -2359,7 +2359,7 @@ CommandCost CmdBuildAirport(TileIndex tile, DoCommandFlag flags, uint32 p1, uint
InvalidateWindowData(WC_STATION_VIEW, st->index, -1);
if (_settings_game.economy.station_noise_level) {
- SetWindowDirty(WC_TOWN_VIEW, st->town->index);
+ SetWindowDirty(WC_TOWN_VIEW, nearest->index);
}
}
@@ -2407,6 +2407,10 @@ static CommandCost RemoveAirport(TileIndex tile, DoCommandFlag flags)
uint dist;
Town *nearest = AirportGetNearestTown(as, it, dist);
nearest->noise_reached -= GetAirportNoiseLevelForDistance(as, dist);
+
+ if (_settings_game.economy.station_noise_level) {
+ SetWindowDirty(WC_TOWN_VIEW, nearest->index);
+ }
}
for (TileIndex tile_cur : st->airport) {
@@ -2435,10 +2439,6 @@ static CommandCost RemoveAirport(TileIndex tile, DoCommandFlag flags)
InvalidateWindowData(WC_STATION_VIEW, st->index, -1);
- if (_settings_game.economy.station_noise_level) {
- SetWindowDirty(WC_TOWN_VIEW, st->town->index);
- }
-
Company::Get(st->owner)->infrastructure.airport--;
st->AfterStationTileSetChange(false, STATION_AIRPORT);