mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-25 22:42:04 +02:00
Ignore duplicate disconnected calls
This commit is contained in:
@@ -39,27 +39,27 @@ void GlobalLobbyProcessor::onDisconnected(const std::shared_ptr<INetworkConnecti
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
|
||||||
if (owner.getState() == EServerState::LOBBY)
|
|
||||||
{
|
{
|
||||||
for (auto const & proxy : proxyConnections)
|
for (auto const & proxy : proxyConnections)
|
||||||
{
|
{
|
||||||
if (proxy.second == connection)
|
if (proxy.second != connection)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (owner.getState() == EServerState::LOBBY)
|
||||||
{
|
{
|
||||||
JsonNode message;
|
JsonNode message;
|
||||||
message["type"].String() = "leaveGameRoom";
|
message["type"].String() = "leaveGameRoom";
|
||||||
message["accountID"].String() = proxy.first;
|
message["accountID"].String() = proxy.first;
|
||||||
|
|
||||||
sendMessage(controlConnection, message);
|
sendMessage(controlConnection, message);
|
||||||
|
}
|
||||||
|
|
||||||
proxyConnections.erase(proxy.first);
|
proxyConnections.erase(proxy.first);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// player disconnected
|
// player disconnected
|
||||||
owner.onDisconnected(connection, errorMessage);
|
owner.onDisconnected(connection, errorMessage);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user