From cb16b68474c7d5becadfc950cbddc2008f567b47 Mon Sep 17 00:00:00 2001 From: smatz Date: Tue, 16 Sep 2008 16:07:18 +0000 Subject: [PATCH] (svn r14344) -Fix: when a new airport is built in the same tick as the old station is deleted, aircraft may go crazy (and crash the game) --- src/station.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/station.cpp b/src/station.cpp index b74ef3783c..17af0e5ecb 100644 --- a/src/station.cpp +++ b/src/station.cpp @@ -32,6 +32,7 @@ #include "command_func.h" #include "order_func.h" #include "news_func.h" +#include "aircraft.h" #include "table/sprites.h" #include "table/strings.h" @@ -74,6 +75,13 @@ Station::~Station() loading_vehicles.front()->LeaveStation(); } + Vehicle *v; + FOR_ALL_VEHICLES(v) { + if (v->type == VEH_AIRCRAFT && IsNormalAircraft(v) && v->u.air.targetairport == this->index) { + v->u.air.targetairport = INVALID_STATION; + } + } + MarkDirty(); InvalidateWindowData(WC_STATION_LIST, this->owner, 0);