Merge pull request #2180 from RachelBryk/netplay-quit

Fix crash when server's client disconnects.
This commit is contained in:
skidau 2015-03-12 13:28:38 +11:00
commit f3bb30f17f
2 changed files with 3 additions and 3 deletions

View File

@ -397,7 +397,7 @@ unsigned int NetPlayClient::OnData(sf::Packet& packet)
case NP_MSG_DISABLE_GAME: case NP_MSG_DISABLE_GAME:
{ {
PanicAlertT("Other client disconnected while game is running!! NetPlay is disabled. You manually stop the game."); PanicAlertT("Other client disconnected while game is running!! NetPlay is disabled. You must manually stop the game.");
std::lock_guard<std::recursive_mutex> lkg(m_crit.game); std::lock_guard<std::recursive_mutex> lkg(m_crit.game);
m_is_running = false; m_is_running = false;
NetPlay_Disable(); NetPlay_Disable();

View File

@ -334,7 +334,7 @@ unsigned int NetPlayServer::OnDisconnect(Client& player)
{ {
for (PadMapping mapping : m_pad_map) for (PadMapping mapping : m_pad_map)
{ {
if (mapping == pid) if (mapping == pid && pid != 1)
{ {
PanicAlertT("Client disconnect while game is running!! NetPlay is disabled. You must manually stop the game."); PanicAlertT("Client disconnect while game is running!! NetPlay is disabled. You must manually stop the game.");
std::lock_guard<std::recursive_mutex> lkg(m_crit.game); std::lock_guard<std::recursive_mutex> lkg(m_crit.game);
@ -344,7 +344,7 @@ unsigned int NetPlayServer::OnDisconnect(Client& player)
spac << (MessageId)NP_MSG_DISABLE_GAME; spac << (MessageId)NP_MSG_DISABLE_GAME;
// this thread doesn't need players lock // this thread doesn't need players lock
std::lock_guard<std::recursive_mutex> lks(m_crit.send); std::lock_guard<std::recursive_mutex> lks(m_crit.send);
SendToClients(spac); SendToClients(spac, 1);
break; break;
} }
} }