diff options
author | Adam <Adam@anope.org> | 2011-07-16 06:52:13 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-07-16 06:52:13 -0400 |
commit | acceabe3a88640b7192795b4e54126ed96e9d0f0 (patch) | |
tree | f2a092f55c6f84d049261be355658847e78039ca /src | |
parent | c3993b3123feb0e508d5ea00bde052acd6a5423a (diff) |
Bug #1287 - Only check if users should be deopped on syncing channels
when the user is on a server that is also syncing.
This prevents us from deopping all users who join a new channel
when recovering from a netsplit that don't explicitly have access
to that channel.
Diffstat (limited to 'src')
-rw-r--r-- | src/channels.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/channels.cpp b/src/channels.cpp index 26ae18308..fe97c5b46 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -1100,7 +1100,7 @@ void chan_set_correct_modes(User *user, Channel *c, int give_modes) c->SetMode(NULL, CMODE_VOICE, user->nick); } /* If this channel has secureops or the channel is syncing and they are not ulined, check to remove modes */ - if ((ci->HasFlag(CI_SECUREOPS) || c->HasFlag(CH_SYNCING)) && !user->server->IsULined()) + if ((ci->HasFlag(CI_SECUREOPS) || (c->HasFlag(CH_SYNCING) && user->server->IsSynced())) && !user->server->IsULined()) { if (owner && c->HasUserStatus(user, CMODE_OWNER) && !check_access(user, ci, CA_FOUNDER)) c->RemoveMode(NULL, CMODE_OWNER, user->nick); |