Mercurial > hg > openttd
changeset 15257:25f7ec98dc69 draft
(svn r19892) -Fix [FS#3856] (r19792): crash when trying to reserve 'in depot' track on clearing a crashed train
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sun, 23 May 2010 22:14:22 +0000 |
parents | b69104c5cf8f |
children | 2b1dd6b766e2 |
files | src/train_cmd.cpp |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -3455,11 +3455,12 @@ TrackBits *trackbits = (TrackBits *)data; if (v->type == VEH_TRAIN && (v->vehstatus & VS_CRASHED) != 0) { - if (Train::From(v)->track == TRACK_BIT_WORMHOLE) { + TrackBits train_tbits = Train::From(v)->track; + if (train_tbits == TRACK_BIT_WORMHOLE) { /* Vehicle is inside a wormhole, v->track contains no useful value then. */ *trackbits |= DiagDirToDiagTrackBits(GetTunnelBridgeDirection(v->tile)); - } else { - *trackbits |= Train::From(v)->track; + } else if (train_tbits != TRACK_BIT_DEPOT) { + *trackbits |= train_tbits; } }