changeset 17043:3259656453bc draft

(svn r21780) -Change: Keep aqueducts and road/tram tunnels and bridges after removing a company.
author terkhen <terkhen@openttd.org>
date Fri, 14 Jan 2011 13:19:23 +0000
parents a67961b37013
children f20abc851ba1
files src/tunnelbridge_cmd.cpp
diffstat 1 files changed, 7 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/tunnelbridge_cmd.cpp
+++ b/src/tunnelbridge_cmd.cpp
@@ -1485,12 +1485,13 @@
 	if (new_owner != INVALID_OWNER) {
 		SetTileOwner(tile, new_owner);
 	} else {
-		if (DoCommand(tile, 0, 0, DC_EXEC | DC_BANKRUPT, CMD_LANDSCAPE_CLEAR).Failed()) {
-			/* When clearing the bridge/tunnel failed there are still vehicles on/in
-			 * the bridge/tunnel. As all *our* vehicles are already removed, they
-			 * 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. */
-			assert(GetTunnelBridgeTransportType(tile) != TRANSPORT_RAIL);
+		if (GetTunnelBridgeTransportType(tile) == TRANSPORT_RAIL) {
+			/* Since all of our vehicles have been removed, it is safe to remove the rail
+			 * bridge / tunnel. */
+			CommandCost ret = DoCommand(tile, 0, 0, DC_EXEC | DC_BANKRUPT, CMD_LANDSCAPE_CLEAR);
+			assert(ret.Succeeded());
+		} else {
+			/* In any other case, we can safely reassign the ownership to OWNER_NONE. */
 			SetTileOwner(tile, OWNER_NONE);
 		}
 	}