Fix crash on NetworkPeer disposing

This commit is contained in:
Wojtek Figat
2022-05-15 11:51:20 +02:00
parent e72b2b385f
commit 778e4e0ea7
2 changed files with 5 additions and 3 deletions

View File

@@ -80,7 +80,6 @@ void ENetDriver::Dispose()
enet_deinitialize();
_peerMap.Clear();
_peerMap = {};
_peer = nullptr;
_host = nullptr;

View File

@@ -74,9 +74,10 @@ bool NetworkPeer::Initialize(const NetworkConfig& config)
void NetworkPeer::Shutdown()
{
NetworkDriver->Dispose();
Delete(NetworkDriver);
Delete(Config.NetworkDriver);
DisposeMessageBuffers();
Config.NetworkDriver = nullptr;
NetworkDriver = nullptr;
}
@@ -223,7 +224,9 @@ NetworkPeer* NetworkPeer::CreatePeer(const NetworkConfig& config)
void NetworkPeer::ShutdownPeer(NetworkPeer* peer)
{
ASSERT(peer->IsValid());
if (!peer)
return;
CHECK(peer->IsValid());
peer->Shutdown();
peer->HostId = -1;
Peers.Remove(peer);