Update of bug #22795 (project freeciv): Category: None => general Status: Need Info => Ready For Test Operating System: None => Any Planned Release: => 2.5.0, 2.6.0
_______________________________________________________ Follow-up Comment #4: Thank you. I have reproduced it on TRUNK. The problem is that remove_allied_visibility() is called twice in the alliance breakup. The comment for the second says: /* Inform clients about units that have been hidden. Units in cities * and transporters are visible to allies but not visible once the * alliance is broken. We have to call this after resolve_unit_stacks * because that function may change units' locations. It also sends * out new city info packets to tell the client about occupied cities, * so it should also come after the send_player_all_c calls above. */ I think this comment is outdated. Normally the stack conflicts should have been resolved using bounce_unit() -> unit_move() which should already have notified correctly the clients. The error message is not visible in S2_5, because the it use the PACKET_UNIT_SHORT_INFO which has the 'is-game-info' flag, discarding packet duplicates. Patches attached: * Remove in TRUNK the duplicate of the remove_allied_visibility() call (not for S2_5, useless, but in case it would break something else); * Do not lose vision of hiding units (they are visible on V_INVIS, not V_MAIN) which may be the cause of related bug; * Updated comments. (file #22686, file #22687) _______________________________________________________ Additional Item Attachment: File name: trunk_alliance_breakup.patch Size:2 KB File name: S2_5_alliance_breakup.patch Size:1 KB _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?22795> _______________________________________________ Message posté via/par Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev