From b3b66a8d028fafef1e71477325f467ef73626c8e Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 9 Mar 2013 23:42:54 +0100 Subject: Core/Vehicles: Fixed a possible crash if vehicle is deleted before its passenger runs Abort on pending join event Closes #9392 --- src/server/game/Entities/Unit/Unit.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/server/game/Entities/Unit') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 0e93bd93433..9d581fcdce9 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -16945,9 +16945,9 @@ void Unit::_ExitVehicle(Position const* exitPosition) if (player) player->ResummonPetTemporaryUnSummonedIfAny(); - if (vehicle->GetBase()->HasUnitTypeMask(UNIT_MASK_MINION)) + if (vehicle->GetBase()->HasUnitTypeMask(UNIT_MASK_MINION) && vehicle->GetBase()->GetTypeId() == TYPEID_UNIT) if (((Minion*)vehicle->GetBase())->GetOwner() == this) - vehicle->Dismiss(); + vehicle->GetBase()->ToCreature()->DespawnOrUnsummon(); if (HasUnitTypeMask(UNIT_MASK_ACCESSORY)) { -- cgit v1.2.3