mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/Commands: Avoid copies of RBACCommandData
Silences the PVS V1002 warning:
"The 'RBACCommandData' class, containing pointers, constructor and destructor, is copied by the automatically generated copy constructor."
(cherry picked from commit 7c7b4760d8)
This commit is contained in:
@@ -35,15 +35,15 @@ EndScriptData */
|
||||
|
||||
struct RBACCommandData
|
||||
{
|
||||
RBACCommandData() : rbac(nullptr), needDelete(false) {}
|
||||
RBACCommandData(RBACCommandData const&) = delete;
|
||||
~RBACCommandData()
|
||||
{
|
||||
if (needDelete)
|
||||
delete rbac;
|
||||
}
|
||||
|
||||
rbac::RBACData* rbac;
|
||||
bool needDelete;
|
||||
rbac::RBACData* rbac = nullptr;
|
||||
bool needDelete = false;
|
||||
};
|
||||
|
||||
using namespace Trinity::ChatCommands;
|
||||
@@ -79,18 +79,13 @@ public:
|
||||
|
||||
static RBACCommandData GetRBACData(AccountIdentifier account)
|
||||
{
|
||||
RBACCommandData data = RBACCommandData();
|
||||
|
||||
if (account.IsConnected())
|
||||
data.rbac = account.GetConnectedSession()->GetRBACData();
|
||||
else
|
||||
{
|
||||
data.rbac = new rbac::RBACData(account.GetID(), account.GetName(), realm.Id.Realm, AccountMgr::GetSecurity(account.GetID(), realm.Id.Realm));
|
||||
data.rbac->LoadFromDB();
|
||||
data.needDelete = true;
|
||||
}
|
||||
return { account.GetConnectedSession()->GetRBACData(), false };
|
||||
|
||||
return data;
|
||||
rbac::RBACData* rbac = new rbac::RBACData(account.GetID(), account.GetName(), realm.Id.Realm, AccountMgr::GetSecurity(account.GetID(), realm.Id.Realm));
|
||||
rbac->LoadFromDB();
|
||||
|
||||
return { rbac, true };
|
||||
}
|
||||
|
||||
static bool HandleRBACPermGrantCommand(ChatHandler* handler, Optional<AccountIdentifier> account, uint32 permId, Optional<int32> realmId)
|
||||
|
||||
Reference in New Issue
Block a user