<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40020 >

Jason Short wrote:
> make_contact kills the unit because of the broken treaty and bouncing
> (strange in itself but whatever).  Then since maybe_make_contact doesn't
> use a proper iterator it breaks the loop.  Attached patch should fix it
> for 2.1 and most likely 2.2/trunk.
That looks like it!  Of course, it *was* a proper iterator right up until
somebody added code to wipe an unrelated unit of another player that
happens to be in a stack with a player that canceled a treaty....

In this case, the Indian player's last settler.  Causing the Indian player
to die!  Good thing this is probably a rare event.

So, let's consider this a temporary patch until bounce_unit() -- or its
caller -- is fixed.  What a terrible fragile logic mess!

Freeciv-dev mailing list

Reply via email to