From 0ecab5110ef6e4b5599f5ca19b77774a8b7da4aa Mon Sep 17 00:00:00 2001 From: bjarni Date: Sat, 19 Nov 2005 22:39:16 +0000 Subject: [PATCH] (svn r3223) -Fix: [autoreplace] fixed crash when replacing a train engine without any cars (introduced in r3220) --- vehicle.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vehicle.c b/vehicle.c index 0ed3e8e0d3..f1aaacc8fa 100644 --- a/vehicle.c +++ b/vehicle.c @@ -1655,7 +1655,9 @@ static int32 ReplaceVehicle(Vehicle **w, byte flags) new_v->current_order = old_v->current_order; if (old_v->type == VEH_Train){ // move the entire train to the new engine, including the old engine. It will be sold in a moment anyway - DoCommand(0, 0, (new_v->index << 16) | GetNextVehicle(old_v)->index, 1, DC_EXEC, CMD_MOVE_RAIL_VEHICLE); + if (GetNextVehicle(old_v) != NULL) { + DoCommand(0, 0, (new_v->index << 16) | GetNextVehicle(old_v)->index, 1, DC_EXEC, CMD_MOVE_RAIL_VEHICLE); + } new_v->u.rail.shortest_platform[0] = old_v->u.rail.shortest_platform[0]; new_v->u.rail.shortest_platform[1] = old_v->u.rail.shortest_platform[1]; }