From 0c497dd113eb8f72cd87a6b48d7c0893542a10ac Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 15 Jan 2011 09:53:21 +0000 Subject: (svn r21800) -Fix [FS#3569]: under certain circumstances one could crash a competitor's train; take the lazy non-future proof version of the fix from the 1.0 branch as fixing the real bug is significantly more complex and might even break some backwards compatability if not done perfectly --- src/train_cmd.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 46c804543..600deddca 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -2813,6 +2813,9 @@ static Vehicle *FindTrainCollideEnum(Vehicle *v, void *data) /* not a train or in depot */ if (v->type != VEH_TRAIN || Train::From(v)->track == TRACK_BIT_DEPOT) return NULL; + /* do not crash into trains of another company. */ + if (v->owner != tcc->v->owner) return NULL; + /* get first vehicle now to make most usual checks faster */ Train *coll = Train::From(v)->First(); -- cgit v1.2.3-54-g00ecf