diff options
author | Shauren <shauren.trinity@gmail.com> | 2020-09-23 22:37:11 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-01-31 00:23:57 +0100 |
commit | e102022eeb8a0fd402e34de92468b2afb8f1f006 (patch) | |
tree | dbd61ed455ddeafc8c856511362357b0a338ad0f /src | |
parent | 914791836318c62d8b206ef3cbffe144e63bf928 (diff) |
Core/Pets: Fixed crash happening when summoning a different pet than one that was unsummoned by summoning a guardian (imp -> infernal -> felhunter)
Closes #25478
(cherry picked from commit d29274f3a142545a386420e54f6169e4f7ed6eda)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index d037047e9de..c62211a1a1d 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -5820,8 +5820,8 @@ void Unit::SetMinion(Minion *minion, bool apply) if (oldPet != minion && (oldPet->IsPet() || minion->IsPet() || oldPet->GetEntry() != minion->GetEntry())) { // remove existing minion pet - if (oldPet->IsPet()) - ((Pet*)oldPet)->Remove(PET_SAVE_AS_CURRENT); + if (Pet* oldPetAsPet = oldPet->ToPet()) + oldPetAsPet->Remove(PET_SAVE_NOT_IN_SLOT); else oldPet->UnSummon(); SetPetGUID(minion->GetGUID()); |