players.c
changeset 5073 7983f98f3d4c
parent 5068 cf09d80ddcf4
child 5077 587701a06b6a
--- a/players.c	Sat Nov 11 10:12:00 2006 +0000
+++ b/players.c	Sat Nov 11 23:08:07 2006 +0000
@@ -860,11 +860,18 @@
 		if (_local_player != _network_playas) {
 			assert(_local_player == PLAYER_SPECTATOR && _network_playas == p->index);
 			_local_player = p->index;
-			DoCommandP(0, (_patches.autorenew << 15 ) | (_patches.autorenew_months << 16) | 4, _patches.autorenew_money, NULL, CMD_SET_AUTOREPLACE);
-
 			MarkWholeScreenDirty();
 		}
 
+		/* Now that we have a new player, broadcast its autorenew settings to
+		 * all clients so everything is in sync */
+		DoCommand(0,
+			(_patches.autorenew << 15 ) | (_patches.autorenew_months << 16) | 4,
+			_patches.autorenew_money,
+			DC_EXEC,
+			CMD_SET_AUTOREPLACE
+		);
+
 #ifdef ENABLE_NETWORK
 		if (_network_server) {
 			/* XXX - UGLY! p2 (pid) is mis-used to fetch the client-id, done at