mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-09 23:50:25 +00:00
(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:
parent
192d348f78
commit
4a97033e7e
@ -32,6 +32,7 @@
|
|||||||
#include "command_func.h"
|
#include "command_func.h"
|
||||||
#include "order_func.h"
|
#include "order_func.h"
|
||||||
#include "news_func.h"
|
#include "news_func.h"
|
||||||
|
#include "aircraft.h"
|
||||||
|
|
||||||
#include "table/sprites.h"
|
#include "table/sprites.h"
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
@ -74,6 +75,13 @@ Station::~Station()
|
|||||||
loading_vehicles.front()->LeaveStation();
|
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();
|
MarkDirty();
|
||||||
InvalidateWindowData(WC_STATION_LIST, this->owner, 0);
|
InvalidateWindowData(WC_STATION_LIST, this->owner, 0);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user