diff options
Diffstat (limited to 'src/modes.cpp')
-rw-r--r-- | src/modes.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/modes.cpp b/src/modes.cpp index dafe2ddca..38266f95f 100644 --- a/src/modes.cpp +++ b/src/modes.cpp @@ -213,7 +213,7 @@ ChannelModeVirtual<T>::~ChannelModeVirtual() } template<typename T> -ChannelMode *ChannelModeVirtual<T>::Wrap(Anope::string ¶m) +void ChannelModeVirtual<T>::Check() { if (basech == NULL) { @@ -221,7 +221,11 @@ ChannelMode *ChannelModeVirtual<T>::Wrap(Anope::string ¶m) if (basech) basech->listeners.push_back(this); } +} +template<typename T> +ChannelMode *ChannelModeVirtual<T>::Wrap(Anope::string ¶m) +{ return basech; } @@ -453,6 +457,9 @@ bool ModeManager::AddChannelMode(ChannelMode *cm) FOREACH_MOD(OnChannelModeAdd, (cm)); + for (unsigned int i = 0; i < ChannelModes.size(); ++i) + ChannelModes[i]->Check(); + return true; } |