diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2019-06-23 16:45:32 +0200 |
|---|---|---|
| committer | Treeston <treeston.mmoc@gmail.com> | 2019-06-23 16:45:32 +0200 |
| commit | f4b06fd0b7ead843bba8f5215a09abf7976e012c (patch) | |
| tree | 615a9dc5a6063fc16f5476ad7a8c6fa86c35420d /src/server/game/Entities/Player | |
| parent | 396f87c30dff1b50f1eb0d924778a7fbab7e8d11 (diff) | |
Entities/Unit: Fix an issue where Unit pointers could be left dangling if a channeled Charm was interrupted by a control aura application. Closes #23440.
Diffstat (limited to 'src/server/game/Entities/Player')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 378cadad747..949607d550d 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -23880,7 +23880,11 @@ void Player::SetClientControl(Unit* target, bool allowMove) { // still affected by some aura that shouldn't allow control, only allow on last such aura to be removed if (allowMove && target->HasUnitState(UNIT_STATE_CANT_CLIENT_CONTROL)) + { + // this should never happen, otherwise m_unitBeingMoved might be left dangling! + ASSERT(GetUnitBeingMoved() == target); return; + } WorldPacket data(SMSG_CLIENT_CONTROL_UPDATE, target->GetPackGUID().size()+1); data << target->GetPackGUID(); |
