From 54501dc6df2b958a5c79a24ac770a1c481ad27bd Mon Sep 17 00:00:00 2001 From: truelight Date: Fri, 6 Jan 2006 18:26:02 +0000 Subject: [PATCH] (svn r3373) -Fix: don't link a wagon to itself, which resulted in a wagon disapearing, and a depot which was unable to remove --- train_cmd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/train_cmd.c b/train_cmd.c index 95bdd34cf0..ffe1d67855 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -958,6 +958,8 @@ int32 CmdMoveRailVehicle(int x, int y, uint32 flags, uint32 p1, uint32 p2) if (dst->next == NULL) { /* It's the last one, so we will add the wagon just before the rear engine */ dst = GetPrevVehicleInChain(dst); + /* Now if the vehicle we want to link to is the vehicle itself, drop out */ + if (dst == src) return CMD_ERROR; // if dst is NULL, it means that dst got a rear multiheaded engine as first engine. We can't use that if (dst == NULL) return CMD_ERROR; } else {