Core/Misc: Fix possible endless loop in HandleMoveWorldportAckOpcode / Logout
This commit is contained in:
@@ -43,6 +43,8 @@ void WorldSession::HandleMoveWorldportAckOpcode()
|
|||||||
if (!GetPlayer()->IsBeingTeleportedFar())
|
if (!GetPlayer()->IsBeingTeleportedFar())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
GetPlayer()->SetSemaphoreTeleportFar(false);
|
||||||
|
|
||||||
// get the teleport destination
|
// get the teleport destination
|
||||||
WorldLocation &loc = GetPlayer()->GetTeleportDest();
|
WorldLocation &loc = GetPlayer()->GetTeleportDest();
|
||||||
|
|
||||||
@@ -61,8 +63,6 @@ void WorldSession::HandleMoveWorldportAckOpcode()
|
|||||||
if (GetPlayer()->m_InstanceValid == false && !mInstance)
|
if (GetPlayer()->m_InstanceValid == false && !mInstance)
|
||||||
GetPlayer()->m_InstanceValid = true;
|
GetPlayer()->m_InstanceValid = true;
|
||||||
|
|
||||||
GetPlayer()->SetSemaphoreTeleportFar(false);
|
|
||||||
|
|
||||||
Map * oldMap = GetPlayer()->GetMap();
|
Map * oldMap = GetPlayer()->GetMap();
|
||||||
ASSERT(oldMap);
|
ASSERT(oldMap);
|
||||||
if (GetPlayer()->IsInWorld())
|
if (GetPlayer()->IsInWorld())
|
||||||
|
|||||||
Reference in New Issue
Block a user