widelands-dev team mailing list archive
-
widelands-dev team
-
Mailing list archive
-
Message #14702
[Merge] lp:~widelands-dev/widelands/immovable-grow-owner into lp:widelands
Benedikt Straub has proposed merging lp:~widelands-dev/widelands/immovable-grow-owner into lp:widelands.
Commit message:
Keep an immovable's owner when growing, so tribe immovables don't lose their owner
Requested reviews:
Widelands Developers (widelands-dev)
Related bugs:
Bug #1790804 in widelands: "Frisian berry bushes have no owner"
https://bugs.launchpad.net/widelands/+bug/1790804
For more details, see:
https://code.launchpad.net/~widelands-dev/widelands/immovable-grow-owner/+merge/355518
--
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/immovable-grow-owner into lp:widelands.
=== modified file 'src/logic/map_objects/immovable.cc'
--- src/logic/map_objects/immovable.cc 2018-09-04 15:48:47 +0000
+++ src/logic/map_objects/immovable.cc 2018-09-22 11:26:18 +0000
@@ -928,9 +928,10 @@
if (logic_rand_as_double(&game) <
probability_to_grow(descr.terrain_affinity(), f, map, game.world().terrains())) {
MapObjectDescr::OwnerType owner_type = descr.owner_type();
+ Player* owner = immovable.get_owner();
immovable.remove(game); // Now immovable is a dangling reference!
game.create_immovable_with_name(
- f, type_name, owner_type, nullptr /* owner */, nullptr /* former_building_descr */);
+ f, type_name, owner_type, owner, nullptr /* former_building_descr */);
} else {
immovable.program_step(game);
}
Follow ups