Author: sveinung
Date: Wed Nov  2 15:25:22 2016
New Revision: 34330

URL: http://svn.gna.org/viewcvs/freeciv?rev=34330&view=rev
Log:
tilespec_reread(): initialize dependency first.

The function tileset_player_init() falls back to sprites.background.color if
the player doesn't have a color. But sprites.background.color is set in
tileset_background_init(). Make tilespec_reread() call
tileset_background_init() before it calls tileset_player_init().

See bug #25239

Modified:
    trunk/client/tilespec.c

Modified: trunk/client/tilespec.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/tilespec.c?rev=34330&r1=34329&r2=34330&view=diff
==============================================================================
--- trunk/client/tilespec.c     (original)
+++ trunk/client/tilespec.c     Wed Nov  2 15:25:22 2016
@@ -1298,10 +1298,10 @@
   }
 
   if (game_fully_initialized) {
+    tileset_background_init(tileset);
     players_iterate(pplayer) {
       tileset_player_init(tileset, pplayer);
     } players_iterate_end;
-    tileset_background_init(tileset);
     boot_help_texts(); /* "About Current Tileset" */
   }
 
@@ -6733,6 +6733,9 @@
     /* XXX: if player hasn't been assigned a color, perhaps there's no
      * point proceeding with an arbitrary color; this should only happen
      * in pregame. Probably blank sprites would be better. */
+
+    fc_assert_ret(t->sprites.background.color != NULL);
+
     color = t->sprites.background.color;
   }
 


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

Reply via email to