fix(Core/PetHandler): prevent crash (#6805)

This commit is contained in:
UltraNix
2021-07-10 00:21:26 +02:00
committed by GitHub
parent a61f7a128f
commit 0f4a942825
2 changed files with 4 additions and 3 deletions

View File

@@ -446,8 +446,9 @@ void WorldSession::HandlePetAction(WorldPacket& recvData)
}
}
for (std::vector<Unit*>::iterator itr = controlled.begin(); itr != controlled.end(); ++itr)
HandlePetActionHelper(*itr, guid1, spellid, flag, guid2);
for (Unit* pet : controlled)
if (pet && pet->IsInWorld() && pet->GetMap() == _player->GetMap())
HandlePetActionHelper(pet, guid1, spellid, flag, guid2);
}
}

View File

@@ -489,7 +489,7 @@ void OpcodeTable::Initialize()
/*0x172*/ DEFINE_SERVER_OPCODE_HANDLER(SMSG_MOUNTSPECIAL_ANIM, STATUS_NEVER);
/*0x173*/ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_TAME_FAILURE, STATUS_NEVER);
/*0x174*/ DEFINE_HANDLER(CMSG_PET_SET_ACTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetSetAction );
/*0x175*/ DEFINE_HANDLER(CMSG_PET_ACTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAction );
/*0x175*/ DEFINE_HANDLER(CMSG_PET_ACTION, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandlePetAction );
/*0x176*/ DEFINE_HANDLER(CMSG_PET_ABANDON, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetAbandon );
/*0x177*/ DEFINE_HANDLER(CMSG_PET_RENAME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePetRename );
/*0x178*/ DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_NAME_INVALID, STATUS_NEVER);