]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_showwhois.cpp
Delete modewatchers when unloading modules that use them to keep the server from...
[user/henk/code/inspircd.git] / src / modules / m_showwhois.cpp
index 9acc019aadc1cc62eeee8ed86ef6d3e29f8dc965..074f1941c6d5d4de538b77cbba5d6e7b33877bb2 100644 (file)
@@ -20,7 +20,7 @@
 class SeeWhois : public ModeHandler
 {
  public:
-       SeeWhois(Module* Creator, bool IsOpersOnly) : ModeHandler(Creator, 'W', PARAM_NONE, MODETYPE_USER)
+       SeeWhois(Module* Creator, bool IsOpersOnly) : ModeHandler(Creator, "showwhois", 'W', PARAM_NONE, MODETYPE_USER)
        {
                oper = IsOpersOnly;
        }
@@ -97,13 +97,12 @@ class ModuleShowwhois : public Module
 
        ~ModuleShowwhois()
        {
-               ServerInstance->Modes->DelMode(sw);
                delete sw;
        }
 
        virtual Version GetVersion()
        {
-               return Version("Allows opers to set +W to see when a user uses WHOIS on them",VF_COMMON|VF_VENDOR,API_VERSION);
+               return Version("Allows opers to set +W to see when a user uses WHOIS on them",VF_COMMON|VF_VENDOR);
        }
 
        virtual void OnWhois(User* source, User* dest)
@@ -111,7 +110,7 @@ class ModuleShowwhois : public Module
                if (!dest->IsModeSet('W') || source == dest)
                        return;
 
-               if (!ShowWhoisFromOpers && (IS_OPER(source) != IS_OPER(dest)))
+               if (!ShowWhoisFromOpers && (!IS_OPER(source) != !IS_OPER(dest)))
                        return;
 
                if (IS_LOCAL(dest))