X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fircchannel.cpp;h=fd983608024164178ae205b64a94d8a45b0990ce;hp=976375d6769ab9b79469e0de2b7d7b4d28821ea3;hb=f12ff6555fc60d165d5057902a91cdff355816b9;hpb=70ed7f4b13ab21a9b3dcb61386b56ad324ed697d diff --git a/src/common/ircchannel.cpp b/src/common/ircchannel.cpp index 976375d6..fd983608 100644 --- a/src/common/ircchannel.cpp +++ b/src/common/ircchannel.cpp @@ -137,8 +137,10 @@ void IrcChannel::joinIrcUsers(const QList &users, const QStringList & IrcUser *ircuser; for(int i = 0; i < users.count(); i++) { ircuser = users[i]; - if(!ircuser || _userModes.contains(ircuser)) + if(!ircuser || _userModes.contains(ircuser)) { + addUserMode(ircuser, modes[i]); continue; + } _userModes[ircuser] = modes[i]; ircuser->joinChannel(this); @@ -429,7 +431,7 @@ void IrcChannel::removeChannelMode(const QChar &mode, const QString &value) { return; case Network::A_CHANMODE: if(_A_channelModes.contains(mode)) - _A_channelModes[mode].removeOne(value); + _A_channelModes[mode].removeAll(value); break; case Network::B_CHANMODE: