summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_cloaking.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp
index 5b1b73f37..ba7005396 100644
--- a/src/modules/m_cloaking.cpp
+++ b/src/modules/m_cloaking.cpp
@@ -106,8 +106,8 @@ class CloakUser : public ModeHandler
/* User is removing the mode, so restore their real host
* and make it match the displayed one.
*/
- user->ChangeDisplayedHost(user->host.c_str());
user->SetMode('x',false);
+ user->ChangeDisplayedHost(user->host.c_str());
return MODEACTION_ALLOW;
}
}
@@ -365,7 +365,11 @@ class ModuleCloaking : public Module
// mode change, we will call SetMode back to true AFTER the host change is done.
void OnChangeHost(User* u, const std::string& host)
{
- u->SetMode('x', false);
+ if(u->IsModeSet('x'))
+ {
+ u->SetMode('x', false);
+ u->WriteServ("MODE %s -x", u->nick.c_str());
+ }
}
~ModuleCloaking()