From 105306609f967fbaf8342d1fb799a98d439a1a8f Mon Sep 17 00:00:00 2001 From: planetmaker Date: Sun, 25 May 2014 19:01:30 +0000 Subject: (svn r26616) -Fix (r26576) [FS#6025]: First send packages about new company, then clients joining it to admin port (Taede) --- src/network/network_server.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/network') diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 9ac1a03aa..dc18658a9 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -2193,11 +2193,17 @@ void NetworkServerNewCompany(const Company *c, NetworkClientInfo *ci) ci->client_playas = c->index; NetworkUpdateClientInfo(ci->client_id); NetworkSendCommand(0, 0, 0, CMD_RENAME_PRESIDENT, NULL, ci->client_name, c->index); - NetworkServerSendChat(NETWORK_ACTION_COMPANY_NEW, DESTTYPE_BROADCAST, 0, "", ci->client_id, c->index + 1); } /* Announce new company on network. */ NetworkAdminCompanyInfo(c, true); + + if (ci != NULL) { + /* ci is NULL when replaying, or for AIs. In neither case there is a client. + We need to send Admin port update here so that they first know about the new company + and then learn about a possibly joining client (see FS#6025) */ + NetworkServerSendChat(NETWORK_ACTION_COMPANY_NEW, DESTTYPE_BROADCAST, 0, "", ci->client_id, c->index + 1); + } } #endif /* ENABLE_NETWORK */ -- cgit v1.2.3-70-g09d2