Merge pull request #8398 from Mailaender/ping-order-nre

Fixed NREs in LobbyCommands PingFromClient
This commit is contained in:
Pavel Penev
2015-06-29 01:55:54 +03:00
2 changed files with 15 additions and 4 deletions

View File

@@ -492,7 +492,11 @@ namespace OpenRA.Server
break; break;
} }
var pingFromClient = LobbyInfo.PingFromClient(GetClient(conn)); var client = GetClient(conn);
if (client == null)
return;
var pingFromClient = LobbyInfo.PingFromClient(client);
if (pingFromClient == null) if (pingFromClient == null)
return; return;

View File

@@ -186,9 +186,12 @@ namespace OpenRA.Mods.Common.Server
server.LobbyInfo.Clients.Remove(occupant); server.LobbyInfo.Clients.Remove(occupant);
server.SyncLobbyClients(); server.SyncLobbyClients();
var ping = server.LobbyInfo.PingFromClient(occupant); var ping = server.LobbyInfo.PingFromClient(occupant);
if (ping != null)
{
server.LobbyInfo.ClientPings.Remove(ping); server.LobbyInfo.ClientPings.Remove(ping);
server.SyncClientPing(); server.SyncClientPing();
} }
}
else else
{ {
var occupantConn = server.Conns.FirstOrDefault(c => c.PlayerIndex == occupant.Index); var occupantConn = server.Conns.FirstOrDefault(c => c.PlayerIndex == occupant.Index);
@@ -221,7 +224,11 @@ namespace OpenRA.Mods.Common.Server
{ {
server.LobbyInfo.Clients.Remove(occupant); server.LobbyInfo.Clients.Remove(occupant);
var ping = server.LobbyInfo.PingFromClient(occupant); var ping = server.LobbyInfo.PingFromClient(occupant);
if (ping != null)
{
server.LobbyInfo.ClientPings.Remove(ping); server.LobbyInfo.ClientPings.Remove(ping);
server.SyncClientPing();
}
} }
server.SyncLobbyClients(); server.SyncLobbyClients();