diff options
author | ccrs <ccrs@users.noreply.github.com> | 2017-03-25 13:17:29 +0100 |
---|---|---|
committer | ccrs <ccrs@users.noreply.github.com> | 2017-03-25 13:17:29 +0100 |
commit | 9be7f5f57b897888983a9ca6f441479f3571513c (patch) | |
tree | e4d18d484f8ab011feb245ba837084b8a68e8b47 /src/server/game/Movement/MotionMaster.cpp | |
parent | 96f4c7c187e03aeb61e905421751f3d5a1df060e (diff) |
Core/Movement: 96f4c7c followup
Diffstat (limited to 'src/server/game/Movement/MotionMaster.cpp')
-rw-r--r-- | src/server/game/Movement/MotionMaster.cpp | 16 |
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(); |