aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/GameClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Server/GameClient.cpp')
-rw-r--r--src/server/game/Server/GameClient.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Server/GameClient.cpp b/src/server/game/Server/GameClient.cpp
index f2a662d63dd..9dde28b3bfb 100644
--- a/src/server/game/Server/GameClient.cpp
+++ b/src/server/game/Server/GameClient.cpp
@@ -28,6 +28,9 @@ GameClient::GameClient(WorldSession* sessionToServer)
void GameClient::AddAllowedMover(Unit* unit)
{
+ if (GameClient* previousController = unit->GetGameClientMovingMe())
+ previousController->RemoveAllowedMover(unit);
+
_allowedMovers.insert(unit->GetGUID());
unit->SetGameClientMovingMe(this);
}
@@ -36,7 +39,10 @@ void GameClient::RemoveAllowedMover(Unit* unit)
{
_allowedMovers.erase(unit->GetGUID());
if (unit->GetGameClientMovingMe() == this)
+ {
unit->SetGameClientMovingMe(nullptr);
+ SetActivelyMovedUnit(nullptr);
+ }
}
bool GameClient::IsAllowedToMove(Unit* unit) const