Summary: Try to adapt to data phase problems in
adv_data_get() and dai_data_get()
Submitted by: cazfi
Submitted on: Mon 27 Feb 2012 11:48:11 PM EET
Priority: 5 - Normal
Status: Ready For Test
Assigned to: None
Discussion Lock: Any
Planned Release: 2.4.0, 2.5.0
We still have problems that adv_data_get() gets called when data phase is not
initialized. These are typically very hard and intrusive to fix. They also are
not a reggression; they have existed forever without us knowing them. Only
during 2.3 development detection of these situations was added, and easy cases
were soon fixed. To sum: we don't want to fix them in stable branches. To S2_2
and S2_3 we instead added special handling for these cases to minimize any bad
effects from them. This handling was not committed to TRUNK at the time as
goal was to really fix bugs there.
Now that S2_4 has been branched from TRUNK, minimum we have to do is to commit
similar handling to those in S2_2 and S2_3 to that new stable branch.
But we've also learned new cases leading to out-of-data-phase adv_data_get()
calls. Calling adv_data_get() for another player when handling one player
(while handling diplomacy, for example) is whole new class of these bugs that
are impossible to fix without making major changes to design. They are likely
to go unfixed for a vbery long time. If we still leave TRUNK as it is, we end
up applying this handling separately to S2_5, S2_6, S2_7... assuming we
remember to. So attached patch is meant for TRUNK too. It doesn't hurt to have
sensible error recovery in TRUNK too.
Date: Mon 27 Feb 2012 11:48:11 PM EET Name: DataPhasesPatch.diff Size: 3kB
Reply to this item at:
Message sent via/by Gna!
Freeciv-dev mailing list