diff options
author | jackpoz <giacomopoz@gmail.com> | 2014-01-13 22:52:35 +0100 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2014-01-13 22:52:35 +0100 |
commit | d78e69cdc6be1d762dcaaafc489c027896790fa3 (patch) | |
tree | 7f5c5561732e8ebe696f65b314cdd75fffad05b3 /src/server/game/Instances/InstanceSaveMgr.cpp | |
parent | 88ecc9533a2d132d15f222b7b05eeb0f96930e21 (diff) |
Core/Instances: Fix memory leak in InstanceSaveMgr
Fix memory leak in InstanceSaveMgr added in 1f170c99efec6c89b9a454a3aa17511341f61659 .
Make InstanceSave::SetToDelete() private since it's not supposed to be used by anything other than InstanceSave or its friend class InstanceSaveMgr .
Diffstat (limited to 'src/server/game/Instances/InstanceSaveMgr.cpp')
-rw-r--r-- | src/server/game/Instances/InstanceSaveMgr.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Instances/InstanceSaveMgr.cpp b/src/server/game/Instances/InstanceSaveMgr.cpp index e37e6847bdd..c46d9002604 100644 --- a/src/server/game/Instances/InstanceSaveMgr.cpp +++ b/src/server/game/Instances/InstanceSaveMgr.cpp @@ -164,7 +164,11 @@ void InstanceSaveManager::RemoveInstanceSave(uint32 InstanceId) void InstanceSaveManager::UnloadInstanceSave(uint32 InstanceId) { if (InstanceSave* save = GetInstanceSave(InstanceId)) + { save->UnloadIfEmpty(); + if (save->m_toDelete) + delete save; + } } InstanceSave::InstanceSave(uint16 MapId, uint32 InstanceId, Difficulty difficulty, time_t resetTime, bool canReset) |