aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGiacomo Pozzoni <giacomopoz@gmail.com>2019-05-28 16:05:22 +0200
committerGiacomo Pozzoni <giacomopoz@gmail.com>2019-05-29 14:16:20 +0200
commit5d7f0eef6e2f89d5dbeb0a702f7a35c95626240e (patch)
tree9115b0c0a6e813afec19329f54a2f8f85b9cabb2 /src
parent1cc7944f725f0863eb76ef9bab1808fc8fccec17 (diff)
Core/Movement: Fix assertion triggered in SplineChainMovementGenerator
Fix an assertion triggered in SplineChainMovementGenerator happening when a new generator is added while last spline of the SplineChainMovementGenerator is being processed but is not finalized yet. Fix #23077
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Movement/MovementGenerators/SplineChainMovementGenerator.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/server/game/Movement/MovementGenerators/SplineChainMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/SplineChainMovementGenerator.cpp
index 32f7fe8626e..4cbcf488bea 100644
--- a/src/server/game/Movement/MovementGenerators/SplineChainMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/SplineChainMovementGenerator.cpp
@@ -89,6 +89,13 @@ void SplineChainMovementGenerator::Initialize(Unit* owner)
return;
}
+ if (_nextIndex >= _chainSize)
+ {
+ TC_LOG_WARN("movement", "SplineChainMovementGenerator::Initialize: couldn't initialize generator, _nextIndex is >= _chainSize (%s)", owner->GetGUID().ToString().c_str());
+ _msToNext = 0;
+ return;
+ }
+
if (_nextFirstWP) // this is a resumed movegen that has to start with a partial spline
{
if (HasFlag(MOVEMENTGENERATOR_FLAG_FINALIZED))