From 5bf9f573fd24bc8cbb6d04f17130a0beaf3c3183 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 6 Jun 2010 00:41:42 +0300 Subject: Fix memory leak in playerrelations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Thorbjørn Lindeijer --- src/playerrelations.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/playerrelations.cpp') diff --git a/src/playerrelations.cpp b/src/playerrelations.cpp index bd657f4f..14d9eb6b 100644 --- a/src/playerrelations.cpp +++ b/src/playerrelations.cpp @@ -91,13 +91,20 @@ PlayerRelation::PlayerRelation(Relation relation) PlayerRelationsManager::PlayerRelationsManager() : mPersistIgnores(false), mDefaultPermissions(PlayerRelation::DEFAULT), - mIgnoreStrategy(NULL) + mIgnoreStrategy(0) { } PlayerRelationsManager::~PlayerRelationsManager() { delete_all(mIgnoreStrategies); + + for (std::map::const_iterator it = mRelations.begin(); + it != mRelations.end(); it++) + { + delete it->second; + } } void PlayerRelationsManager::clear() @@ -105,7 +112,9 @@ void PlayerRelationsManager::clear() std::vector *names = getPlayers(); for (std::vector::const_iterator it = names->begin(); it != names->end(); it++) + { removePlayer(*it); + } delete names; } -- cgit v1.2.3-60-g2f50