diff options
author | Adam <Adam@anope.org> | 2013-06-01 21:51:00 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2013-06-01 21:56:52 -0400 |
commit | 9956da18e3186591b5347e63081756390f4f35d5 (patch) | |
tree | 61992e9d8b370cec2785db1ea281175359088cc3 /src/channels.cpp | |
parent | b56e71ab14b020a3a01f1fbd183382083156aaf4 (diff) |
Move OnJoinChannel event to trigger after the user has completely joined and document it more about what you should and shouldnt do in it
Diffstat (limited to 'src/channels.cpp')
-rw-r--r-- | src/channels.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/channels.cpp b/src/channels.cpp index ff060dce9..9fdc44a49 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -93,7 +93,7 @@ void Channel::Sync() void Channel::CheckModes() { - if (this->bouncy_modes) + if (this->bouncy_modes || this->syncing) return; /* Check for mode bouncing */ @@ -170,7 +170,7 @@ bool Channel::CheckDelete() return MOD_RESULT != EVENT_STOP && this->users.empty(); } -ChanUserContainer* Channel::JoinUser(User *user) +ChanUserContainer* Channel::JoinUser(User *user, const ChannelStatus *status) { if (user->server && user->server->IsSynced()) Log(user, this, "join"); @@ -178,8 +178,8 @@ ChanUserContainer* Channel::JoinUser(User *user) ChanUserContainer *cuc = new ChanUserContainer(user, this); user->chans[this] = cuc; this->users[user] = cuc; - - FOREACH_MOD(OnJoinChannel, (user, this)); + if (status) + cuc->status = *status; return cuc; } @@ -732,7 +732,7 @@ void Channel::KickInternal(MessageSource &source, const Anope::string &nick, con User *target = User::Find(nick); if (!target) { - Log() << "Channel::KickInternal got a nonexistent user " << nick << " on " << this->name << ": " << reason; + Log(LOG_DEBUG) << "Channel::KickInternal got a nonexistent user " << nick << " on " << this->name << ": " << reason; return; } @@ -746,7 +746,7 @@ void Channel::KickInternal(MessageSource &source, const Anope::string &nick, con ChanUserContainer *cu = target->FindChannel(this); if (cu == NULL) { - Log() << "Channel::KickInternal got kick for user " << target->nick << " from " << source.GetSource() << " who isn't on channel " << this->name; + Log(LOG_DEBUG) << "Channel::KickInternal got kick for user " << target->nick << " from " << source.GetSource() << " who isn't on channel " << this->name; return; } |