diff options
author | Adam <Adam@anope.org> | 2010-11-14 17:34:17 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-11-14 17:34:17 -0500 |
commit | 4f8dfc2132e2c67bf8047cbba0a78ea22e870d28 (patch) | |
tree | b68a377caa1126de27d9c1b69b510cb0c9570515 /src/modes.cpp | |
parent | 4415a779a3ff690e800198b27a16a80a630b1e3d (diff) |
Delete users and channels from the modestacker when they are destructed
Diffstat (limited to 'src/modes.cpp')
-rw-r--r-- | src/modes.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/modes.cpp b/src/modes.cpp index 23cd0e402..f28e6a4b4 100644 --- a/src/modes.cpp +++ b/src/modes.cpp @@ -822,3 +822,18 @@ void ModeManager::ProcessModes() StackerObjects.clear(); } } + +/** Delete a user or channel from the stacker + * @param b The user/channel + */ +void ModeManager::StackerDel(Base *b) +{ + for (std::list<std::pair<Base *, StackerInfo *> >::iterator it = ModeManager::StackerObjects.begin(), it_end = ModeManager::StackerObjects.end(); it != it_end; ++it) + { + if (b == it->first) + { + ModeManager::StackerObjects.erase(it); + break; + } + } +} |