summaryrefslogtreecommitdiff
path: root/src/modules/m_delayjoin.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-11-09 21:51:48 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-11-09 21:51:48 +0000
commitb94c45340e153254f9dd06ecc3445222f31d0220 (patch)
tree3f0dda82973d84bbbcf08c0e8e1115f89afc3be6 /src/modules/m_delayjoin.cpp
parentc708d7a3c0defba07171a70c68636d0b14abf590 (diff)
Roadmap item "Fix jointhrottle to not try 'throttle' clients during a netmerge (requires changing join event to be aware of netmerge?)" -- 1.2 only
requires an extra parameter to OnUserJoin, bool sync. usually false, but FJOIN code during burst sets it to true. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8552 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_delayjoin.cpp')
-rw-r--r--src/modules/m_delayjoin.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/modules/m_delayjoin.cpp b/src/modules/m_delayjoin.cpp
index 435148c61..9d9a4007e 100644
--- a/src/modules/m_delayjoin.cpp
+++ b/src/modules/m_delayjoin.cpp
@@ -118,7 +118,7 @@ class ModuleDelayJoin : public Module
return 0;
}
- virtual void OnUserJoin(User* user, Channel* channel, bool &silent)
+ virtual void OnUserJoin(User* user, Channel* channel, bool sync, bool &silent)
{
if (channel->IsModeSet('D'))
{
@@ -191,6 +191,10 @@ class ModuleDelayJoin : public Module
/* Display the join to everyone else (the user who joined got it earlier) */
this->WriteCommonFrom(user, channel, "JOIN %s", channel->name);
+ std::string n = this->ServerInstance->Modes->ModeString(user, channel);
+ if (n.length() > 0)
+ this->WriteCommonFrom(user, channel, "MODE %s +%s", channel->name, n.c_str());
+
/* Shrink off the neccessary metadata for a specific channel */
user->Shrink(std::string("delayjoin_")+channel->name);