aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement/MotionMaster.cpp
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2017-03-25 13:17:29 +0100
committerccrs <ccrs@users.noreply.github.com>2017-03-25 13:17:29 +0100
commit9be7f5f57b897888983a9ca6f441479f3571513c (patch)
treee4d18d484f8ab011feb245ba837084b8a68e8b47 /src/server/game/Movement/MotionMaster.cpp
parent96f4c7c187e03aeb61e905421751f3d5a1df060e (diff)
Core/Movement: 96f4c7c followup
Diffstat (limited to 'src/server/game/Movement/MotionMaster.cpp')
-rw-r--r--src/server/game/Movement/MotionMaster.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index 861d537e3a0..c91fb0692df 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -42,10 +42,16 @@ MotionMaster::~MotionMaster()
// clear ALL movement generators (including default)
while (!empty())
{
- MovementGenerator *curr = top();
+ MovementGenerator* movement = top();
pop();
- if (curr && !IsStatic(curr))
- delete curr; // Skip finalizing on delete, it might launch new movement
+ if (movement && !IsStatic(movement))
+ delete movement;
+ }
+
+ while (!_expireList.empty())
+ {
+ delete _expireList.back();
+ _expireList.pop_back();
}
}
@@ -116,8 +122,8 @@ void MotionMaster::Clear(bool reset /*= true*/)
void MotionMaster::ClearExpireList()
{
- for (auto itr = _expireList.begin(); itr != _expireList.end(); itr++)
- DirectDelete(*itr);
+ for (auto itr : _expireList)
+ DirectDelete(itr);
_expireList.clear();