diff options
author | ccrs <ccrs@users.noreply.github.com> | 2019-10-23 03:28:57 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-12-18 23:18:26 +0100 |
commit | 1add1c31d8dd96be33398a7cce0ba9cfb71bae8f (patch) | |
tree | 9514664dbb0d99e68078404eb955644ea0fb6658 /src/server/game/Movement/MotionMaster.cpp | |
parent | 7b21b53ac941d38358b945450e51c129761b76bf (diff) |
Core/Movement: prevent any Initialize queue till AddToWorld is signaled
(cherry picked from commit c9c6871659bf2be52b4656bc641df5211fcb928f)
Diffstat (limited to 'src/server/game/Movement/MotionMaster.cpp')
-rw-r--r-- | src/server/game/Movement/MotionMaster.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp index 5c045a79049..5521a154ee1 100644 --- a/src/server/game/Movement/MotionMaster.cpp +++ b/src/server/game/Movement/MotionMaster.cpp @@ -95,7 +95,10 @@ MotionMaster::~MotionMaster() void MotionMaster::Initialize() { - if (HasFlag(MOTIONMASTER_FLAG_DELAYED)) + if (HasFlag(MOTIONMASTER_FLAG_INITIALIZATION_PENDING)) + return; + + if (HasFlag(MOTIONMASTER_FLAG_UPDATE)) { DelayedActionDefine action = [this]() { @@ -121,6 +124,7 @@ void MotionMaster::AddToWorld() AddFlag(MOTIONMASTER_FLAG_INITIALIZING); RemoveFlag(MOTIONMASTER_FLAG_INITIALIZATION_PENDING); + DirectInitialize(); ResolveDelayedActions(); RemoveFlag(MOTIONMASTER_FLAG_INITIALIZING); |