1
0
mirror of https://github.com/anope/anope.git synced 2026-06-29 22:06:37 +02:00

OnJoinChannel can modify the ts for a channel, so update keep_their_modes in the sjoin handler before processing a user. Otherwise we can desync and think users have a channel status when they really don't.

This commit is contained in:
Adam
2013-11-20 18:10:26 -05:00
parent b75faefea4
commit fbbdedf17e
+1
View File
@@ -126,6 +126,7 @@ void Join::SJoin(MessageSource &source, const Anope::string &chan, time_t ts, co
{
const ChannelStatus &status = it->first;
User *u = it->second;
keep_their_modes = ts <= c->creation_time; // OnJoinChannel can call modules which can modify this channel's ts
/* Add the user to the channel */
c->JoinUser(u, keep_their_modes ? &status : NULL);