# HG changeset patch # User Jonathan G Rennison # Date 2021-03-07 00:14:50 # Node ID a4806b58d77088718163ae2f6f64ae4269a324f3 # Parent 7fc94f42842a823d3b32dc6dab173d04d702f3af Fix #8809: Crash when removing airport when hangar window open diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -2393,6 +2393,12 @@ static CommandCost RemoveAirport(TileInd } if (flags & DC_EXEC) { + for (uint i = 0; i < st->airport.GetNumHangars(); ++i) { + DeleteWindowById( + WC_VEHICLE_DEPOT, st->airport.GetHangarTile(i) + ); + } + const AirportSpec *as = st->airport.GetSpec(); /* The noise level is the noise from the airport and reduce it to account for the distance to the town center. * And as for construction, always remove it, even if the setting is not set, in order to avoid the @@ -2423,12 +2429,6 @@ static CommandCost RemoveAirport(TileInd /* Clear the persistent storage. */ delete st->airport.psa; - for (uint i = 0; i < st->airport.GetNumHangars(); ++i) { - DeleteWindowById( - WC_VEHICLE_DEPOT, st->airport.GetHangarTile(i) - ); - } - st->rect.AfterRemoveRect(st, st->airport); st->airport.Clear();