summaryrefslogtreecommitdiff
path: root/src/network
diff options
context:
space:
mode:
Diffstat (limited to 'src/network')
-rw-r--r--src/network/network_server.cpp8
1 files changed, 7 insertions, 1 deletions
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 */