diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 754879db8a..118bbb6b44 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -1411,7 +1411,7 @@ void WorldSession::InitializeSessionCallback(LoginDatabaseQueryHolder const& hol holder.GetPreparedResult(AccountInfoQueryHolder::BATTLE_PET_SLOTS)); } -rbac::RBACData* WorldSession::GetRBACData() +rbac::RBACData* WorldSession::GetRBACData() const { return _RBACData; } diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 3ee5d0ca96..221538a7e4 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -1004,7 +1004,7 @@ class TC_GAME_API WorldSession void InitializeSession(); void InitializeSessionCallback(LoginDatabaseQueryHolder const& holder, CharacterDatabaseQueryHolder const& realmHolder); - rbac::RBACData* GetRBACData(); + rbac::RBACData* GetRBACData() const; bool HasPermission(uint32 permissionId); void LoadPermissions(); QueryCallback LoadPermissionsAsync(); diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp index 71547c77fb..a2b2c986d8 100644 --- a/src/server/scripts/Commands/cs_account.cpp +++ b/src/server/scripts/Commands/cs_account.cpp @@ -782,7 +782,8 @@ public: return false; } - sAccountMgr->UpdateAccountAccess(nullptr, accountId, securityLevel, realmID); + WorldSession const* session = sWorld->FindSession(accountId); + sAccountMgr->UpdateAccountAccess(session ? session->GetRBACData() : nullptr, accountId, securityLevel, realmID); handler->PSendSysMessage(LANG_YOU_CHANGE_SECURITY, accountName->c_str(), securityLevel); return true;