aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Guilds/GuildMgr.cpp
diff options
context:
space:
mode:
authorDiscover- <amort11@hotmail.com>2013-09-23 16:47:47 +0200
committerDiscover- <amort11@hotmail.com>2013-09-23 16:47:47 +0200
commita0db0728f2f48e7ca4156115b03e63d7ff2164c1 (patch)
treec17b6d0bdc34f0a8297216f21dd7deb5df4eddcc /src/server/game/Guilds/GuildMgr.cpp
parent9653576cb4cc9449898d6af691c045d68e9361c5 (diff)
parent4498ac0062d56aa0a0f2b9a21358f12f83c4b1f7 (diff)
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore
Diffstat (limited to 'src/server/game/Guilds/GuildMgr.cpp')
-rw-r--r--src/server/game/Guilds/GuildMgr.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/server/game/Guilds/GuildMgr.cpp b/src/server/game/Guilds/GuildMgr.cpp
index 3fc4e839651..1fcc6ec4e6e 100644
--- a/src/server/game/Guilds/GuildMgr.cpp
+++ b/src/server/game/Guilds/GuildMgr.cpp
@@ -378,20 +378,13 @@ void GuildMgr::LoadGuilds()
TC_LOG_INFO(LOG_FILTER_GUILD, "Validating data of loaded guilds...");
{
uint32 oldMSTime = getMSTime();
- std::set<Guild*> rm; // temporary storage to avoid modifying GuildStore with RemoveGuild() while iterating
- for (GuildContainer::iterator itr = GuildStore.begin(); itr != GuildStore.end(); ++itr)
+ for (GuildContainer::iterator itr = GuildStore.begin(); itr != GuildStore.end();)
{
Guild* guild = itr->second;
+ ++itr;
if (guild && !guild->Validate())
- rm.insert(guild);
- }
-
- for (std::set<Guild*>::iterator itr = rm.begin(); itr != rm.end(); ++itr)
- {
- Guild* guild = *itr;
- RemoveGuild(guild->GetId());
- delete guild;
+ delete guild;
}
TC_LOG_INFO(LOG_FILTER_SERVER_LOADING, ">> Validated data of loaded guilds in %u ms", GetMSTimeDiffToNow(oldMSTime));