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

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:


  Message posté via/par Gna!

Freeciv-dev mailing list

Reply via email to