diff options
-rw-r--r-- | src/modules/m_cloaking.cpp | 8 |
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() |