diff options
author | Adam <Adam@anope.org> | 2015-01-26 15:10:18 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2015-01-26 15:10:18 -0500 |
commit | 2264a206d262f07f6c6d91df867383d6413e0c3f (patch) | |
tree | 06963ebcf94b6ee82107a7aa7e801f64abcc2757 /src/modes.cpp | |
parent | d324e9152012500c7a811d7adda6ad2c6fbcd26f (diff) |
Check virtual mode bases better
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; } |