aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_cloak.cpp
diff options
context:
space:
mode:
authorGravatar Sadie Powell2023-07-17 10:06:39 +0100
committerGravatar Sadie Powell2023-07-17 10:23:52 +0100
commita909bf763a661401cb03c6aac04effa958a4e632 (patch)
treec800c7fc3b291ec78d640a509b84b8957929d623 /src/modules/m_cloak.cpp
parentFix cloaking users too early in cloak_user. (diff)
Move checks for whether a user is cloakable to {Get,Reset}Cloaks.
Diffstat (limited to 'src/modules/m_cloak.cpp')
-rw-r--r--src/modules/m_cloak.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/modules/m_cloak.cpp b/src/modules/m_cloak.cpp
index 52545552a..51c599742 100644
--- a/src/modules/m_cloak.cpp
+++ b/src/modules/m_cloak.cpp
@@ -106,6 +106,9 @@ public:
Cloak::List* GetCloaks(LocalUser* user) override
{
+ if (user->quitting || !(user->connected & User::CONN_NICKUSER))
+ return nullptr; // This user isn't at a point where they can change their cloak.
+
if (!user->GetClass()->config->getBool("usecloak", true))
return nullptr;
@@ -148,6 +151,9 @@ public:
void ResetCloaks(LocalUser* user, bool resetdisplay) override
{
+ if (user->quitting || !(user->connected & User::CONN_NICKUSER))
+ return; // This user isn't at a point where they can change their cloak.
+
const std::string oldcloak = GetFrontCloak(user);
ext.Unset(user);
@@ -368,10 +374,6 @@ public:
void OnChangeRemoteAddress(LocalUser* user) override
{
- // Connecting users are handled in OnUserConnect not here.
- if (!user->IsFullyConnected() || user->quitting)
- return;
-
// Remove the cloaks so we can generate new ones.
cloakapi.ResetCloaks(user, false);