summaryrefslogtreecommitdiff
path: root/modules/commands
diff options
context:
space:
mode:
Diffstat (limited to 'modules/commands')
-rw-r--r--modules/commands/cs_register.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/modules/commands/cs_register.cpp b/modules/commands/cs_register.cpp
index d1ada3c19..92c5ec6f9 100644
--- a/modules/commands/cs_register.cpp
+++ b/modules/commands/cs_register.cpp
@@ -54,16 +54,12 @@ class CommandCSRegister : public Command
{
ci = new ChannelInfo(chan);
ci->SetFounder(nc);
- if (!chdesc.empty())
- ci->desc = chdesc;
+ ci->desc = chdesc;
- for (ChannelInfo::ModeList::iterator it = ModeManager::DefaultModeLocks.begin(), it_end = ModeManager::DefaultModeLocks.end(); it != it_end; ++it)
- {
- ModeLock *ml = new ModeLock(*it->second);
- ml->setter = source.GetNick();
- ml->ci = ci;
- ci->mode_locks->insert(std::make_pair(it->first, ml));
- }
+ for (std::list<std::pair<ChannelModeName, Anope::string> >::const_iterator it = ModeManager::ModeLockOn.begin(), it_end = ModeManager::ModeLockOn.end(); it != it_end; ++it)
+ ci->SetMLock(ModeManager::FindChannelModeByName(it->first), true, it->second, source.GetNick());
+ for (std::list<ChannelModeName>::const_iterator it = ModeManager::ModeLockOff.begin(), it_end = ModeManager::ModeLockOff.end(); it != it_end; ++it)
+ ci->SetMLock(ModeManager::FindChannelModeByName(*it), false, "", source.GetNick());
if (c && !c->topic.empty())
{