From b84e93487f39e5c8cb336c1723fbab0bf2ff3062 Mon Sep 17 00:00:00 2001 From: michi_cc Date: Mon, 10 Aug 2009 23:52:44 +0000 Subject: (svn r17152) -Fix: A stuck train could free the reservation of another train if it was reversed or did crash. --- src/water_cmd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/water_cmd.cpp') diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index d168f2df4..5a1d6cef6 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -805,7 +805,7 @@ static void FloodVehicle(Vehicle *v) /* FreeTrainTrackReservation() calls GetVehicleTrackdir() that doesn't like crashed vehicles. * In this case, v->direction matches v->u.rail.track, so we can do this (it wasn't crashed before) */ t->vehstatus &= ~VS_CRASHED; - FreeTrainTrackReservation(t); + if (!HasBit(t->flags, VRF_TRAIN_STUCK)) FreeTrainTrackReservation(t); t->vehstatus |= VS_CRASHED; } t->crash_anim_pos = 4000; // max 4440, disappear pretty fast -- cgit v1.2.3-70-g09d2