aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-07-21 00:19:48 +0200
committerShauren <shauren.trinity@gmail.com>2023-07-21 00:19:48 +0200
commit40cdf0750d40668692660db817c5fc19d53aea2e (patch)
tree064b86f05a82a9c67a4c7862da5ae4130fcecad5
parent0b1281e73ff2c8bfe11789c88fc1caaca6584a03 (diff)
Core/Units: Fixed crash (previously was a memory leak) when vehicle creatures are deleted without ever being added to world
Closes #29166
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index e73cc7bcf59..a8d6a9871f5 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -9473,6 +9473,12 @@ void Unit::CleanupBeforeRemoveFromMap(bool finalCleanup)
if (IsInWorld())
RemoveFromWorld();
+ else
+ {
+ // cleanup that must happen even if not in world
+ if (IsVehicle())
+ RemoveVehicleKit(true);
+ }
ASSERT(GetGUID());