1
0
mirror of https://github.com/anope/anope.git synced 2026-06-30 11:46:39 +02:00

Do not sync channels in Channel::Reset if they are in the middle of syncing, and checkmodes in Channel::Sync. Fixes channel modes sometimes not being set if always_lower_ts is on

This commit is contained in:
Adam
2014-02-14 11:09:53 -05:00
parent f428d61045
commit 5dfa6598c2
+5 -1
View File
@@ -85,13 +85,17 @@ void Channel::Reset()
for (ChanUserList::const_iterator it = this->users.begin(), it_end = this->users.end(); it != it_end; ++it)
this->SetCorrectModes(it->second->user, true);
this->Sync();
// If the channel is syncing now, do not force a sync due to Reset(), as we are probably iterating over users in Message::SJoin
// A sync will come soon
if (!syncing)
this->Sync();
}
void Channel::Sync()
{
syncing = false;
FOREACH_MOD(OnChannelSync, (this));
CheckModes();
}
void Channel::CheckModes()