mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 10:37:02 +00:00
Fix auth login queue.
This commit is contained in:
parent
ace2d4815e
commit
1346f394be
1 changed files with 9 additions and 8 deletions
|
|
@ -198,13 +198,16 @@ World::AddSession_ (WorldSession* s)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
WorldSession* old = m_sessions[s->GetAccountId ()];
|
|
||||||
m_sessions[s->GetAccountId ()] = s;
|
|
||||||
|
|
||||||
// if session already exist, prepare to it deleting at next world update
|
// if session already exist, prepare to it deleting at next world update
|
||||||
// NOTE - KickPlayer() should be called on "old" in RemoveSession()
|
// 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 Sessions = GetActiveAndQueuedSessionCount ();
|
||||||
uint32 pLimit = GetPlayerAmountLimit ();
|
uint32 pLimit = GetPlayerAmountLimit ();
|
||||||
|
|
@ -286,9 +289,7 @@ void World::RemoveQueuedPlayer(WorldSession* sess)
|
||||||
{
|
{
|
||||||
if(*iter==sess)
|
if(*iter==sess)
|
||||||
{
|
{
|
||||||
Queue::iterator iter2 = iter;
|
iter = m_QueuedPlayer.erase(iter);
|
||||||
++iter;
|
|
||||||
m_QueuedPlayer.erase(iter2);
|
|
||||||
decrease_session = false; // removing queued session
|
decrease_session = false; // removing queued session
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue