aboutsummaryrefslogtreecommitdiff
path: root/src/game/Player.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-19 11:19:23 -0500
committermegamage <none@none>2009-06-19 11:19:23 -0500
commit15a753351cecac54ed6f7d4dd43c9b7074eaa069 (patch)
tree82ade1a023865cf4b6664650b9d5802391f9960d /src/game/Player.cpp
parentb86ef4c3a8cf46eba6b1f259e0dfc98c0cdd918d (diff)
*Fix or add debug message for crash caused by controlled creatures
--HG-- branch : trunk
Diffstat (limited to 'src/game/Player.cpp')
-rw-r--r--src/game/Player.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 4f931a24aad..117def75164 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -1835,6 +1835,7 @@ void Player::RemoveFromWorld()
///- Release charmed creatures, unsummon totems and remove pets/guardians
StopCastingCharm();
StopCastingBindSight();
+ UnsummonPetTemporaryIfAny();
sOutdoorPvPMgr.HandlePlayerLeaveZone(this, m_zoneUpdateId);
}
@@ -16695,6 +16696,9 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent)
if(pet)
sLog.outDebug("RemovePet %u, %u, %u", pet->GetEntry(), mode, returnreagent);
+ if(pet->m_removed)
+ return;
+
if(returnreagent && (pet || m_temporaryUnsummonedPetNumber))
{
//returning of reagents only for players, so best done here