]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_permchannels.cpp
Add SHUN as a /filter action
[user/henk/code/inspircd.git] / src / modules / m_permchannels.cpp
index 9e77bd60e1cb6f5b420c2c17b90a57985885fa6d..7e28c5fc65081dbbff95af4ba0455cec8f58a38d 100644 (file)
@@ -34,7 +34,7 @@ class PermChannel : public ModeHandler
                oper = true;
        }
 
-       ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string& parameter, bool adding)
+       ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string& parameter, bool adding) CXX11_OVERRIDE
        {
                if (adding == channel->IsModeSet(this))
                        return MODEACTION_DENY;
@@ -244,6 +244,10 @@ public:
                                                mode->OnModeChange(ServerInstance->FakeClient, ServerInstance->FakeClient, c, par, true);
                                        }
                                }
+
+                               // We always apply the permchannels mode to permanent channels.
+                               par.clear();
+                               p.OnModeChange(ServerInstance->FakeClient, ServerInstance->FakeClient, c, par, true);
                        }
                }
        }
@@ -269,7 +273,7 @@ public:
                dirty = false;
        }
 
-       void Prioritize()
+       void Prioritize() CXX11_OVERRIDE
        {
                // XXX: Load the DB here because the order in which modules are init()ed at boot is
                // alphabetical, this means we must wait until all modules have done their init()