(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)

This commit is contained in:
smatz 2008-09-16 16:07:18 +00:00
parent 192d348f78
commit 4a97033e7e

View File

@ -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);