aboutsummaryrefslogtreecommitdiff
path: root/src/game/World.cpp
diff options
context:
space:
mode:
authorvisagalis <none@none>2008-11-14 17:03:03 -0600
committervisagalis <none@none>2008-11-14 17:03:03 -0600
commitbfa9e7516177af9e13391a09d4e1356c74a4c2ba (patch)
treeb4b4c98fac8e547db4a165e5e8cc0fb03c21c005 /src/game/World.cpp
parentd1e759479b3f31cccc270e40d3e6af13204eb627 (diff)
[svn] *** Source: MaNGOS ***
* Implement localization of creature/gameobject name that say/yell. Author: evilstar (rewrited by: Vladimir) * Fix auth login queue. Author: Derex * Allowed switching INVTYPE_HOLDABLE items during combat, used correct spells for triggering global cooldown at weapon switch. Author: mobel/simak * Fixed some format arg type/value pairs. Other warnings. Author: Vladimir * [238_world.sql] Allow have team dependent graveyards at entrance map for instances. Author: Vladimir NOTE: Entrance map graveyards selected by same way as local (by distance from entrance) Until DB support will work in old way base at current DB data. --HG-- branch : trunk
Diffstat (limited to 'src/game/World.cpp')
-rw-r--r--src/game/World.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/game/World.cpp b/src/game/World.cpp
index ab7b6fe04fa..d6017ac0669 100644
--- a/src/game/World.cpp
+++ b/src/game/World.cpp
@@ -202,13 +202,16 @@ World::AddSession_ (WorldSession* s)
return;
}
- WorldSession* old = m_sessions[s->GetAccountId ()];
- m_sessions[s->GetAccountId ()] = s;
-
// if session already exist, prepare to it deleting at next world update
// NOTE - KickPlayer() should be called on "old" in RemoveSession()
- if (old)
- m_kicked_sessions.insert (old);
+ {
+ SessionMap::const_iterator old = m_sessions.find(s->GetAccountId ());
+
+ if(old != m_sessions.end())
+ m_kicked_sessions.insert (old->second);
+ }
+
+ m_sessions[s->GetAccountId ()] = s;
uint32 Sessions = GetActiveAndQueuedSessionCount ();
uint32 pLimit = GetPlayerAmountLimit ();
@@ -291,9 +294,7 @@ void World::RemoveQueuedPlayer(WorldSession* sess)
{
if(*iter==sess)
{
- Queue::iterator iter2 = iter;
- ++iter;
- m_QueuedPlayer.erase(iter2);
+ iter = m_QueuedPlayer.erase(iter);
decrease_session = false; // removing queued session
break;
}