diff options
Diffstat (limited to 'src/server/game/Server/GameClient.cpp')
-rw-r--r-- | src/server/game/Server/GameClient.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Server/GameClient.cpp b/src/server/game/Server/GameClient.cpp index 9dde28b3bfb..d75ee938a4f 100644 --- a/src/server/game/Server/GameClient.cpp +++ b/src/server/game/Server/GameClient.cpp @@ -28,8 +28,7 @@ GameClient::GameClient(WorldSession* sessionToServer) void GameClient::AddAllowedMover(Unit* unit) { - if (GameClient* previousController = unit->GetGameClientMovingMe()) - previousController->RemoveAllowedMover(unit); + ASSERT(!unit->GetGameClientMovingMe() || unit->GetGameClientMovingMe() == this); _allowedMovers.insert(unit->GetGUID()); unit->SetGameClientMovingMe(this); @@ -37,6 +36,7 @@ void GameClient::AddAllowedMover(Unit* unit) void GameClient::RemoveAllowedMover(Unit* unit) { + unit->PurgeAndApplyPendingMovementChanges(); _allowedMovers.erase(unit->GetGUID()); if (unit->GetGameClientMovingMe() == this) { |