diff options
-rw-r--r-- | src/playerrelations.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
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<std::string, + PlayerRelation *>::const_iterator it = mRelations.begin(); + it != mRelations.end(); it++) + { + delete it->second; + } } void PlayerRelationsManager::clear() @@ -105,7 +112,9 @@ void PlayerRelationsManager::clear() std::vector<std::string> *names = getPlayers(); for (std::vector<std::string>::const_iterator it = names->begin(); it != names->end(); it++) + { removePlayer(*it); + } delete names; } |