aboutsummaryrefslogtreecommitdiff
path: root/src/game/PetHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/PetHandler.cpp')
-rw-r--r--src/game/PetHandler.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/game/PetHandler.cpp b/src/game/PetHandler.cpp
index f6b6184a32a..a93d9961e85 100644
--- a/src/game/PetHandler.cpp
+++ b/src/game/PetHandler.cpp
@@ -63,9 +63,13 @@ void WorldSession::HandlePetAction( WorldPacket & recv_data )
if(pet->GetTypeId() == TYPEID_PLAYER && !(flag == ACT_COMMAND && spellid == COMMAND_ATTACK))
return;
- for(ControlList::iterator itr = GetPlayer()->m_Controlled.begin(); itr != GetPlayer()->m_Controlled.end(); ++itr)
- if((*itr)->GetEntry() == pet->GetEntry() && (*itr)->isAlive())
- HandlePetActionHelper(*itr, guid1, spellid, flag, guid2);
+ for(ControlList::iterator itr = GetPlayer()->m_Controlled.begin(); itr != GetPlayer()->m_Controlled.end();)
+ {
+ Unit *unit = *itr;
+ ++itr;
+ if(unit->GetEntry() == pet->GetEntry() && unit->isAlive())
+ HandlePetActionHelper(unit, guid1, spellid, flag, guid2);
+ }
}
void WorldSession::HandlePetActionHelper(Unit *pet, uint64 guid1, uint16 spellid, uint16 flag, uint64 guid2)