1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-31 02:19:09 +00:00

(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.

This commit is contained in:
frosch
2016-09-18 14:07:52 +00:00
parent 5385104ed6
commit d7ee0b6fee

View File

@@ -770,6 +770,8 @@ static void ChangeTileOwner_Object(TileIndex tile, Owner old_owner, Owner new_ow
{
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(TileIndex tile, Owner old_owner, Owner new_ow
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);
}
}