diff options
author | Sadie Powell <sadie@witchery.services> | 2024-11-11 16:46:56 +0000 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2024-11-11 16:46:56 +0000 |
commit | 96ccfe4cbe9948206ac2d6854778f9a268d2476f (patch) | |
tree | 1e2059a204088051b0155b58de56bacaa2bfd58e /modules/commands/ns_set.cpp | |
parent | ee160842b3ccab37f005c16a8657781e0e0412fd (diff) |
Fix using User::Account where User::IsIdentified should be used.
The former causes a dereference which cause a database update. This
is not good for performance with db_sql_live on bigger networks.
Diffstat (limited to 'modules/commands/ns_set.cpp')
-rw-r--r-- | modules/commands/ns_set.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/modules/commands/ns_set.cpp b/modules/commands/ns_set.cpp index a3bfb3630..5ec161421 100644 --- a/modules/commands/ns_set.cpp +++ b/modules/commands/ns_set.cpp @@ -1286,7 +1286,7 @@ class NSSet : public Module if (chan->ci) { /* Only give modes if autoop is set */ - give_modes &= !user->Account() || autoop.HasExt(user->Account()); + give_modes &= !user->IsIdentified() || autoop.HasExt(user->Account()); } } @@ -1321,13 +1321,13 @@ class NSSet : public Module void OnUserModeSet(const MessageSource &setter, User *u, const Anope::string &mname) anope_override { - if (u->Account() && setter.GetUser() == u) + if (u->IsIdentified() && setter.GetUser() == u) u->Account()->last_modes = u->GetModeList(); } void OnUserModeUnset(const MessageSource &setter, User *u, const Anope::string &mname) anope_override { - if (u->Account() && setter.GetUser() == u) + if (u->IsIdentified() && setter.GetUser() == u) u->Account()->last_modes = u->GetModeList(); } |