aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2013-10-02 00:13:00 +0200
committerShauren <shauren.trinity@gmail.com>2013-10-02 00:13:00 +0200
commit993513ce8d1fc278f83114c5126a07edd820722a (patch)
tree6e8b239e7573de492ce499d59ba7b23b20e7a542 /src
parent8fb1f7cc97bdb92999309597c5e7259099bf5ce4 (diff)
Core/Vehicles: Fixed a crash happening when a minion vehicle despawns with passenger on it
Ref #9738
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 7dccb471eae..b6fef7b200b 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -15943,11 +15943,10 @@ void Unit::RemoveVehicleKit()
if (!m_vehicleKit)
return;
- Vehicle* vehicle = m_vehicleKit;
- m_vehicleKit = NULL;
+ m_vehicleKit->Uninstall();
+ delete m_vehicleKit;
- vehicle->Uninstall();
- delete vehicle;
+ m_vehicleKit = NULL;
m_updateFlag &= ~UPDATEFLAG_VEHICLE;
m_unitTypeMask &= ~UNIT_MASK_VEHICLE;
@@ -16905,7 +16904,7 @@ void Unit::_ExitVehicle(Position const* exitPosition)
if (vehicle->GetBase()->HasUnitTypeMask(UNIT_MASK_MINION) && vehicle->GetBase()->GetTypeId() == TYPEID_UNIT)
if (((Minion*)vehicle->GetBase())->GetOwner() == this)
- vehicle->GetBase()->ToCreature()->DespawnOrUnsummon();
+ vehicle->GetBase()->ToCreature()->DespawnOrUnsummon(1);
if (HasUnitTypeMask(UNIT_MASK_ACCESSORY))
{