forked from mirrors/0ad
d12c015d43
Fix `NetServerTurnManager` from pausing the simulation forever after a client sent a bad hash to it and disconnects before the bad hash has been processed. A client that sends a wrong simulation hash to the `NetServer` and disconnects before the server compares that hash causes a message box to appear and the game to be paused forever.94e5d88169introduced the bug by missing to delete `m_ClientStateHashes upon `UninitialiseClient. This causes `m_ClientData[hashPair.first].isOOS = true` to insert a client with blank values that the `NetServerTurnManager` will wait forever and hence the message box about an OOS with no players being OOS is shown (the playername is emptystring).5ebf2020b0exposed the bug by making observers able to lag behind, providing a longe enough timeframe for this to occur. Fix: Deleting `m_ClientStateHashes` upon disconnect solves the broken message box and the pausing.