Changeset - r22449:b12e71e436c7
[Not reviewed]
master
0 1 0
frosch - 8 years ago 2016-09-18 14:07:52
frosch@openttd.org
(svn r27656) -Fix [FS#6511]: When removing objects of bankrupt companies the tiles may revert to canal. In that case also check the ownership of the canal.
1 file changed with 9 insertions and 1 deletions:
0 comments (0 inline, 0 general)
src/object_cmd.cpp
Show inline comments
 
@@ -770,6 +770,8 @@ static void ChangeTileOwner_Object(TileI
 
{
 
	if (!IsTileOwner(tile, old_owner)) return;
 

	
 
	bool do_clear = false;
 

	
 
	if (IsObjectType(tile, OBJECT_OWNED_LAND) && new_owner != INVALID_OWNER) {
 
		SetTileOwner(tile, new_owner);
 
	} else if (IsObjectType(tile, OBJECT_STATUE)) {
 
@@ -780,12 +782,18 @@ static void ChangeTileOwner_Object(TileI
 
			SetBit(t->statues, new_owner);
 
			SetTileOwner(tile, new_owner);
 
		} else {
 
			ReallyClearObjectTile(Object::GetByTile(tile));
 
			do_clear = true;
 
		}
 

	
 
		SetWindowDirty(WC_TOWN_AUTHORITY, t->index);
 
	} else {
 
		do_clear = true;
 
	}
 

	
 
	if (do_clear) {
 
		ReallyClearObjectTile(Object::GetByTile(tile));
 
		/* When clearing objects, they may turn into canal, which may require transfering ownership. */
 
		ChangeTileOwner(tile, old_owner, new_owner);
 
	}
 
}
 

	
0 comments (0 inline, 0 general)