Fix auth login queue.

This commit is contained in:
derex 2008-11-09 15:35:22 +02:00
parent ace2d4815e
commit 1346f394be

View file

@ -198,13 +198,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 ();
@ -286,9 +289,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;
}