# HG changeset patch # User rubidium # Date 2008-09-14 16:49:21 # Node ID 5b63d0853f239d4928517b8561591a6e365429ca # Parent a86e717e43785680fec2aeb1ee5d137f54b96e82 (svn r14324) -Fix [FS#2241]: free any blocks that a helicopter may have on an oilrig when the helicopter gets forcefully removed (bankruptcy). For other airports this isn't needed as they can't be used by multiple companies. diff --git a/src/vehicle.cpp b/src/vehicle.cpp --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -651,6 +651,11 @@ void Vehicle::PreDestructor() } if (this->type == VEH_ROAD) ClearSlot(this); + if (this->type == VEH_AIRCRAFT && this->IsPrimaryVehicle()) { + Station *st = GetStation(this->u.air.targetairport); + const AirportFTA *layout = st->Airport()->layout; + CLRBITS(st->airport_flags, layout[this->u.air.previous_pos].block | layout[this->u.air.pos].block); + } if (this->type != VEH_TRAIN || (this->type == VEH_TRAIN && (IsFrontEngine(this) || IsFreeWagon(this)))) { InvalidateWindowData(WC_VEHICLE_DEPOT, this->tile);