Author: pepeto Date: Wed Oct 1 20:11:40 2014 New Revision: 26651 URL: http://svn.gna.org/viewcvs/freeciv?rev=26651&view=rev Log: Do not initialize advisor and AI ruleset caches when loading ruleset for manual or for ruledit. It was causing assertion failures due to uninitialized unit class caches.
Reported by Marko Lindqvist <cazfi> See gna bug #22346 Modified: trunk/server/ruleset.c Modified: trunk/server/ruleset.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/ruleset.c?rev=26651&r1=26650&r2=26651&view=diff ============================================================================== --- trunk/server/ruleset.c (original) +++ trunk/server/ruleset.c Wed Oct 1 20:11:40 2014 @@ -6585,19 +6585,17 @@ ok = openload_script_file("script", rsdir, buffer); } - if (ok) { - if (act) { - /* Populate remaining caches. */ - techs_precalc_data(); - improvement_feature_cache_init(); - unit_class_iterate(pclass) { - set_unit_class_caches(pclass); - } unit_class_iterate_end; - unit_type_iterate(u) { - u->unknown_move_cost = utype_unknown_move_cost(u); - unit_type_action_cache_set(u); - } unit_type_iterate_end; - } + if (ok && act) { + /* Populate remaining caches. */ + techs_precalc_data(); + improvement_feature_cache_init(); + unit_class_iterate(pclass) { + set_unit_class_caches(pclass); + } unit_class_iterate_end; + unit_type_iterate(u) { + u->unknown_move_cost = utype_unknown_move_cost(u); + unit_type_action_cache_set(u); + } unit_type_iterate_end; /* Build advisors unit class cache corresponding to loaded rulesets */ adv_units_ruleset_init(); @@ -6605,9 +6603,7 @@ /* We may need to adjust the number of AI players * if the number of available nations changed. */ - if (act) { - aifill(game.info.aifill); - } + aifill(game.info.aifill); } return ok; _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits