Fix DeleteVisibleTrain being called on virtual trains

Add assertion to check for this case
This commit is contained in:
Jonathan G Rennison
2017-12-31 14:29:15 +00:00
parent 1c04653518
commit 4b392b66db
3 changed files with 4 additions and 2 deletions

View File

@@ -407,7 +407,7 @@ void ChangeOwnershipOfCompanyItems(Owner old_owner, Owner new_owner)
if (v->owner == old_owner && IsCompanyBuildableVehicleType(v->type)) {
if (new_owner == INVALID_OWNER) {
if (v->Previous() == NULL) {
if (_settings_game.economy.infrastructure_sharing[VEH_TRAIN] && v->type == VEH_TRAIN && Train::From(v)->IsFrontEngine()) {
if (_settings_game.economy.infrastructure_sharing[VEH_TRAIN] && v->type == VEH_TRAIN && Train::From(v)->IsFrontEngine() && !Train::From(v)->IsVirtual()) {
DeleteVisibleTrain(Train::From(v));
} else {
delete v;