aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2009-08-26 14:06:12 -0500
committermegamage <none@none>2009-08-26 14:06:12 -0500
commitf74a134ed6205fc177e9416e5b0ca1b4dccbd246 (patch)
treefc6a98bb76779db56d667e31f8ffca121187eb5b /src
parent227471fe18b850c46f52a96f4334ef1951d2b582 (diff)
*Fix a crash caused by leave channel.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/MovementHandler.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp
index 58bad600f38..78ae1145a06 100644
--- a/src/game/MovementHandler.cpp
+++ b/src/game/MovementHandler.cpp
@@ -160,6 +160,11 @@ void WorldSession::HandleMoveWorldportAckOpcode()
if(!mEntry->IsMountAllowed())
_player->RemoveAurasByType(SPELL_AURA_MOUNTED);
+ // update zone immediately, otherwise leave channel will cause crash in mtmap
+ uint32 newzone, newarea;
+ GetPlayer()->GetZoneAndAreaId(newzone, newarea);
+ GetPlayer()->UpdateZone(newzone, newarea);
+
// honorless target
if(GetPlayer()->pvpInfo.inHostileArea)
GetPlayer()->CastSpell(GetPlayer(), SPELL_ID_HONORLESS_TARGET, true);