aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-08-06 11:01:22 -0500
committermegamage <none@none>2009-08-06 11:01:22 -0500
commit05940192f4cb4cef7b30b7ca76fba5ec4c90a32e (patch)
tree8bbb96145e73683b6874ae59d04b130f191516ae
parente8330e4162f044b928f26d91e71db986e59978ef (diff)
*Fix a dead loop in 4786. By QAston.
--HG-- branch : trunk
-rw-r--r--src/game/Player.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 046332847a9..a49d6ac6d77 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -1623,11 +1623,17 @@ void Player::SendTeleportAckMsg()
void Player::TeleportOutOfMap(Map *oldMap)
{
+ while(IsBeingTeleportedFar())
+ GetSession()->HandleMoveWorldportAckOpcode();
+
if(FindMap() != oldMap)
return;
TeleportTo(m_homebindMapId, m_homebindX, m_homebindY, m_homebindZ, GetOrientation());
+ while(IsBeingTeleportedFar())
+ GetSession()->HandleMoveWorldportAckOpcode();
+
if(FindMap() == oldMap)
{
sLog.outCrash("Cannot teleport player out of map!");