From 57608fe351cff19679b1d78fb5cbfb7cad89dfc1 Mon Sep 17 00:00:00 2001 From: brain Date: Wed, 2 Apr 2008 23:53:29 +0000 Subject: Fixes for bug #493, tidyups to clearing of channel modes on losing FJOIN. Module unloads may also be tidied at a future date but it means reordering some loops in mode.cpp. See around the comment added. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9283 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/modes/cmode_b.h | 4 ++-- include/modes/cmode_h.h | 4 ++-- include/modes/cmode_k.h | 4 ++-- include/modes/cmode_o.h | 4 ++-- include/modes/cmode_v.h | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) (limited to 'include/modes') diff --git a/include/modes/cmode_b.h b/include/modes/cmode_b.h index fc5eb0892..bbeef1c62 100644 --- a/include/modes/cmode_b.h +++ b/include/modes/cmode_b.h @@ -30,7 +30,7 @@ class ModeChannelBan : public ModeHandler void DisplayList(User* user, Channel* channel); void DisplayEmptyList(User* user, Channel* channel); ModePair ModeSet(User* source, User* dest, Channel* channel, const std::string ¶meter); - void RemoveMode(User* user); - void RemoveMode(Channel* channel); + void RemoveMode(User* user, irc::modestacker* stack = NULL); + void RemoveMode(Channel* channel, irc::modestacker* stack = NULL); }; diff --git a/include/modes/cmode_h.h b/include/modes/cmode_h.h index c8ea793c0..9c72a1431 100644 --- a/include/modes/cmode_h.h +++ b/include/modes/cmode_h.h @@ -28,7 +28,7 @@ class ModeChannelHalfOp : public ModeHandler std::string DelHalfOp(User *user,const char *dest,Channel *chan,int status); ModePair ModeSet(User* source, User* dest, Channel* channel, const std::string ¶meter); unsigned int GetPrefixRank(); - void RemoveMode(Channel* channel); - void RemoveMode(User* user); + void RemoveMode(Channel* channel, irc::modestacker* stack = NULL); + void RemoveMode(User* user, irc::modestacker* stack = NULL); }; diff --git a/include/modes/cmode_k.h b/include/modes/cmode_k.h index dce0550fe..c06c0c007 100644 --- a/include/modes/cmode_k.h +++ b/include/modes/cmode_k.h @@ -24,6 +24,6 @@ class ModeChannelKey : public ModeHandler ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding, bool servermode); ModePair ModeSet(User* source, User* dest, Channel* channel, const std::string ¶meter); bool CheckTimeStamp(time_t theirs, time_t ours, const std::string &their_param, const std::string &our_param, Channel* channel); - void RemoveMode(Channel* channel); - void RemoveMode(User* user); + void RemoveMode(Channel* channel, irc::modestacker* stack = NULL); + void RemoveMode(User* user, irc::modestacker* stack = NULL); }; diff --git a/include/modes/cmode_o.h b/include/modes/cmode_o.h index f78ac8eb0..0c48eff1e 100644 --- a/include/modes/cmode_o.h +++ b/include/modes/cmode_o.h @@ -28,7 +28,7 @@ class ModeChannelOp : public ModeHandler std::string DelOp(User *user,const char *dest,Channel *chan,int status); ModePair ModeSet(User* source, User* dest, Channel* channel, const std::string ¶meter); unsigned int GetPrefixRank(); - void RemoveMode(Channel* channel); - void RemoveMode(User* user); + void RemoveMode(Channel* channel, irc::modestacker* stack = NULL); + void RemoveMode(User* user, irc::modestacker* stack = NULL); }; diff --git a/include/modes/cmode_v.h b/include/modes/cmode_v.h index f66761809..4e699fe9d 100644 --- a/include/modes/cmode_v.h +++ b/include/modes/cmode_v.h @@ -28,7 +28,7 @@ class ModeChannelVoice : public ModeHandler std::string DelVoice(User *user,const char *dest,Channel *chan,int status); ModePair ModeSet(User* source, User* dest, Channel* channel, const std::string ¶meter); unsigned int GetPrefixRank(); - void RemoveMode(User* user); - void RemoveMode(Channel* channel); + void RemoveMode(User* user, irc::modestacker* stack = NULL); + void RemoveMode(Channel* channel, irc::modestacker* stack = NULL); }; -- cgit v1.2.3