diff options
author | megamage <none@none> | 2009-08-26 14:06:12 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-08-26 14:06:12 -0500 |
commit | f74a134ed6205fc177e9416e5b0ca1b4dccbd246 (patch) | |
tree | fc6a98bb76779db56d667e31f8ffca121187eb5b /src | |
parent | 227471fe18b850c46f52a96f4334ef1951d2b582 (diff) |
*Fix a crash caused by leave channel.
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/game/MovementHandler.cpp | 5 |
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); |