From c4b5a322e7b2e1cc9c717984da49644024c3cb2c Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 15 Jan 2011 09:53:21 +0000 Subject: [PATCH] (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 46c8045436..600deddca8 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();