From ece9a356dcae3c9f7fe85a0f7dab87e06d8eb299 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Mon, 3 May 2021 15:03:25 +0100 Subject: [PATCH] Fix #9113: Assertion failure when removing airport with order backup (#9182) --- src/station_cmd.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index f642a914f6..451dedbad4 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -2394,9 +2394,9 @@ static CommandCost RemoveAirport(TileIndex tile, DoCommandFlag flags) if (flags & DC_EXEC) { for (uint i = 0; i < st->airport.GetNumHangars(); ++i) { - DeleteWindowById( - WC_VEHICLE_DEPOT, st->airport.GetHangarTile(i) - ); + TileIndex tile_cur = st->airport.GetHangarTile(i); + OrderBackup::Reset(tile_cur, false); + DeleteWindowById(WC_VEHICLE_DEPOT, tile_cur); } const AirportSpec *as = st->airport.GetSpec(); @@ -2418,7 +2418,6 @@ static CommandCost RemoveAirport(TileIndex tile, DoCommandFlag flags) cost.AddCost(_price[PR_CLEAR_STATION_AIRPORT]); if (flags & DC_EXEC) { - if (IsHangarTile(tile_cur)) OrderBackup::Reset(tile_cur, false); DeleteAnimatedTile(tile_cur); DoClearSquare(tile_cur); DeleteNewGRFInspectWindow(GSF_AIRPORTTILES, tile_cur);