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
committerfunjoker <funjoker109@gmail.com>2020-04-24 17:18:50 +0200
commitf135b7aea15e06f4d85ed453da8989f738c5537d (patch)
tree253ad9c0d73380319dcef573b96d8d7c412235cd /src/server/game/Movement/MotionMaster.cpp
parentb2d1b11326ed70325d6bbd4b4558f9c4e5f6f300 (diff)
Core/Movement: 96f4c7c followup
(cherry picked from commit 9be7f5f57b897888983a9ca6f441479f3571513c)
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 b9efa1cf273..3e775d238a4 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -43,10 +43,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();
}
}
@@ -117,8 +123,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();