summaryrefslogtreecommitdiff
path: root/src/water_cmd.cpp
diff options
context:
space:
mode:
authormichi_cc <michi_cc@openttd.org>2009-08-10 23:52:44 +0000
committermichi_cc <michi_cc@openttd.org>2009-08-10 23:52:44 +0000
commitb84e93487f39e5c8cb336c1723fbab0bf2ff3062 (patch)
tree6d2fd8719c024cec333a59b76b3f10e689c9b6e3 /src/water_cmd.cpp
parentda18471d48e0345499d9b819b86486ea8761902a (diff)
downloadopenttd-b84e93487f39e5c8cb336c1723fbab0bf2ff3062.tar.xz
(svn r17152) -Fix: A stuck train could free the reservation of another train if it was reversed or did crash.
Diffstat (limited to 'src/water_cmd.cpp')
-rw-r--r--src/water_cmd.cpp2
1 files changed, 1 insertions, 1 deletions
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