(svn r13718) -Fix: possible desync on the autorenew settings 20+ game years (i.e. 4.5+ hours) after a company was started.
authorrubidium
Thu, 17 Jul 2008 16:38:26 +0000
changeset 11160 4b963391b435
parent 11159 ca1c1162080a
child 11161 7d0fac8f14cd
(svn r13718) -Fix: possible desync on the autorenew settings 20+ game years (i.e. 4.5+ hours) after a company was started.
src/players.cpp
--- a/src/players.cpp	Thu Jul 17 15:16:11 2008 +0000
+++ b/src/players.cpp	Thu Jul 17 16:38:26 2008 +0000
@@ -866,18 +866,21 @@
 				char *password = _settings_client.network.default_company_pass;
 				NetworkChangeCompanyPassword(1, &password);
 			}
+
+			_current_player = _local_player;
+
+			/* Now that we have a new player, broadcast our autorenew settings to
+			 * all clients so everything is in sync */
+			NetworkSend_Command(0,
+				(_settings_client.gui.autorenew << 15 ) | (_settings_client.gui.autorenew_months << 16) | 4,
+				_settings_client.gui.autorenew_money,
+				CMD_SET_AUTOREPLACE,
+				NULL
+			);
+
 			MarkWholeScreenDirty();
 		}
 
-		/* Now that we have a new player, broadcast its autorenew settings to
-		 * all clients so everything is in sync */
-		DoCommand(0,
-			(_settings_client.gui.autorenew << 15 ) | (_settings_client.gui.autorenew_months << 16) | 4,
-			_settings_client.gui.autorenew_money,
-			DC_EXEC,
-			CMD_SET_AUTOREPLACE
-		);
-
 		if (_network_server) {
 			/* XXX - UGLY! p2 (pid) is mis-used to fetch the client-id, done at
 			 * server-side in network_server.c:838, function