From e102022eeb8a0fd402e34de92468b2afb8f1f006 Mon Sep 17 00:00:00 2001 From: Shauren Date: Wed, 23 Sep 2020 22:37:11 +0200 Subject: 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) --- src/server/game/Entities/Unit/Unit.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') 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()); -- cgit v1.2.3