Author: cazfi Date: Fri Nov 28 06:39:49 2014 New Revision: 27142 URL: http://svn.gna.org/viewcvs/freeciv?rev=27142&view=rev Log: remove_player_from_maps() clears also extra owner from the tiles where the it has been the player being removed.
See bug #22948 Modified: trunk/server/maphand.c Modified: trunk/server/maphand.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/maphand.c?rev=27142&r1=27141&r2=27142&view=diff ============================================================================== --- trunk/server/maphand.c (original) +++ trunk/server/maphand.c Fri Nov 28 06:39:49 2014 @@ -1109,6 +1109,8 @@ whole_map_iterate(ptile) { /* Clear all players' knowledge about the removed player, and free * data structures (including those in removed player's player map). */ + bool reality_changed = FALSE; + players_iterate(aplayer) { struct player_tile *aplrtile; bool changed = FALSE; @@ -1151,6 +1153,14 @@ /* Free all claimed tiles. */ if (tile_owner(ptile) == pplayer) { tile_set_owner(ptile, NULL, NULL); + reality_changed = TRUE; + } + if (base_owner(ptile) == pplayer) { + ptile->extras_owner = NULL; + reality_changed = TRUE; + } + + if (reality_changed) { /* Update anyone who can see the tile (e.g. global observers) */ send_tile_info(NULL, ptile, FALSE); } _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits