diff options
| author | Giacomo Pozzoni <giacomopoz@gmail.com> | 2019-05-28 16:05:22 +0200 |
|---|---|---|
| committer | Giacomo Pozzoni <giacomopoz@gmail.com> | 2019-05-29 14:16:20 +0200 |
| commit | 5d7f0eef6e2f89d5dbeb0a702f7a35c95626240e (patch) | |
| tree | 9115b0c0a6e813afec19329f54a2f8f85b9cabb2 /src | |
| parent | 1cc7944f725f0863eb76ef9bab1808fc8fccec17 (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.cpp | 7 |
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)) |
