diff options
author | truelight <truelight@openttd.org> | 2005-03-31 12:39:18 +0000 |
---|---|---|
committer | truelight <truelight@openttd.org> | 2005-03-31 12:39:18 +0000 |
commit | c6f56edcff05e5e1bcdc664ffd6434234255c922 (patch) | |
tree | e1215d950875c35beefa8111bb3e7c8190370088 | |
parent | 66989faab68ac7fa082aa9e6feb461e835a96d19 (diff) | |
download | openttd-c6f56edcff05e5e1bcdc664ffd6434234255c922.tar.xz |
(svn r2113) -Fix: first check if a vehicle is a train, before accessing u.rail
-rw-r--r-- | rail_cmd.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/rail_cmd.c b/rail_cmd.c index 57c882fbd..1e64dadc1 100644 --- a/rail_cmd.c +++ b/rail_cmd.c @@ -1572,15 +1572,17 @@ static void *SignalVehicleCheckProc(Vehicle *v, void *data) SignalVehicleCheckStruct *dest = data; TileIndex tile; + if (v->type != VEH_Train) + return NULL; + /* Find the tile outside the tunnel, for signalling */ - if (v->u.rail.track == 0x40) { + if (v->u.rail.track == 0x40) tile = GetVehicleOutOfTunnelTile(v); - } else { + else tile = v->tile; - } /* Wrong tile, or no train? Not a match */ - if (tile != dest->tile || v->type != VEH_Train) + if (tile != dest->tile) return NULL; /* Are we on the same piece of track? */ |