(svn r13475) -Fix (r13464): crash on destroying aquaduct with ship on in and on company bankrupt

This commit is contained in:
smatz 2008-06-11 15:56:55 +00:00
parent f56fe58d48
commit 58d63ec726
2 changed files with 3 additions and 3 deletions

View File

@ -1268,9 +1268,9 @@ static void ChangeTileOwner_TunnelBridge(TileIndex tile, PlayerID old_player, Pl
if (CmdFailed(DoCommand(tile, 0, 0, DC_EXEC | DC_BANKRUPT, CMD_LANDSCAPE_CLEAR))) { if (CmdFailed(DoCommand(tile, 0, 0, DC_EXEC | DC_BANKRUPT, CMD_LANDSCAPE_CLEAR))) {
/* When clearing the bridge/tunnel failed there are still vehicles on/in /* When clearing the bridge/tunnel failed there are still vehicles on/in
* the bridge/tunnel. As all *our* vehicles are already removed, they * the bridge/tunnel. As all *our* vehicles are already removed, they
* must be of another owner. Therefor this must be a road bridge/tunnel. * must be of another owner. Therefore this can't be rail tunnel/bridge.
* In that case we can safely reassign the ownership to OWNER_NONE. */ * In that case we can safely reassign the ownership to OWNER_NONE. */
assert(GetTunnelBridgeTransportType(tile) == TRANSPORT_ROAD); assert(GetTunnelBridgeTransportType(tile) != TRANSPORT_RAIL);
SetTileOwner(tile, OWNER_NONE); SetTileOwner(tile, OWNER_NONE);
} }
} }

View File

@ -206,7 +206,7 @@ Vehicle *FindVehicleBetween(TileIndex from, TileIndex to, byte z, bool without_c
/** Procedure called for every vehicle found in tunnel/bridge in the hash map */ /** Procedure called for every vehicle found in tunnel/bridge in the hash map */
static void *GetVehicleTunnelBridgeProc(Vehicle *v, void *data) static void *GetVehicleTunnelBridgeProc(Vehicle *v, void *data)
{ {
if (v->type != VEH_TRAIN && v->type != VEH_ROAD) return NULL; if (v->type != VEH_TRAIN && v->type != VEH_ROAD && v->type != VEH_SHIP) return NULL;
_error_message = VehicleInTheWayErrMsg(v); _error_message = VehicleInTheWayErrMsg(v);
return v; return v;