Author: cazfi
Date: Sat Sep 19 21:04:13 2015
New Revision: 29932

URL: http://svn.gna.org/viewcvs/freeciv?rev=29932&view=rev
Log:
Fixed out-of-phase default AI data access on civil war if not all players
are in the same data phase.

See bug #23881

Modified:
    trunk/ai/default/aiplayer.c

Modified: trunk/ai/default/aiplayer.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/ai/default/aiplayer.c?rev=29932&r1=29931&r2=29932&view=diff
==============================================================================
--- trunk/ai/default/aiplayer.c (original)
+++ trunk/ai/default/aiplayer.c Sat Sep 19 21:04:13 2015
@@ -128,12 +128,21 @@
 void dai_player_copy(struct ai_type *ait,
                      struct player *original, struct player *created)
 {
-  struct ai_plr *orig_data = dai_plr_data_get(ait, original, NULL);
-  struct ai_plr *created_data = dai_plr_data_get(ait, created, NULL);
+  bool close_original;
+  bool close_created;
+  struct ai_plr *orig_data = dai_plr_data_get(ait, original, &close_original);
+  struct ai_plr *created_data = dai_plr_data_get(ait, created, &close_created);
 
   advance_index_iterate(A_NONE, i) {
     created_data->tech_want[i] = orig_data->tech_want[i];
   } advance_index_iterate_end;
+
+  if (close_original) {
+    dai_data_phase_finished(ait, original);
+  }
+  if (close_created) {
+    dai_data_phase_finished(ait, created);
+  }
 }
 
 /**************************************************************************


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to