|
|
|
@ -360,8 +360,8 @@ struct IRCBasePriv |
|
|
|
|
else if (prefix.nickname() == nickname) |
|
|
|
|
channels.erase( |
|
|
|
|
std::find_if(channels.begin(), channels.end(), |
|
|
|
|
[&channel](std::shared_ptr<IRCChannel> cptr) { |
|
|
|
|
return channel == cptr->name(); |
|
|
|
|
[&channel](std::weak_ptr<IRCChannel> cptr) { |
|
|
|
|
return channel == cptr.lock()->name(); |
|
|
|
|
} |
|
|
|
|
)); |
|
|
|
|
} |
|
|
|
@ -1030,8 +1030,8 @@ void IRCBasePriv::parseIncoming(const std::string& line) |
|
|
|
|
std::vector<std::string> channelsAffected; |
|
|
|
|
auto member = super.getMember(sender.nickname()); |
|
|
|
|
const auto& chans = member->channels(); |
|
|
|
|
for (auto c : chans) |
|
|
|
|
channelsAffected.push_back(c->name()); |
|
|
|
|
for (const auto& c : chans) |
|
|
|
|
channelsAffected.push_back(c.lock()->name()); |
|
|
|
|
|
|
|
|
|
member->setNickname(msg); |
|
|
|
|
super.onMsgNick(sender, msg, channelsAffected); |
|
|
|
@ -1084,9 +1084,9 @@ void IRCBasePriv::parseIncoming(const std::string& line) |
|
|
|
|
auto member = super.getMember(sender.nickname()); |
|
|
|
|
if (member) { |
|
|
|
|
const auto& chans = member->channels(); |
|
|
|
|
for (auto c : chans) { |
|
|
|
|
channelsAffected.push_back(c); |
|
|
|
|
channelsAffectedStr.push_back(c->name()); |
|
|
|
|
for (const auto& c : chans) { |
|
|
|
|
channelsAffected.push_back(c.lock()); |
|
|
|
|
channelsAffectedStr.push_back(c.lock()->name()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
auto it = std::find(allMembers.begin(), allMembers.end(), member); |
|
|
|
@ -1277,9 +1277,10 @@ void IRCBasePriv::parseIncoming(const std::string& line) |
|
|
|
|
auto member = super.getMember(sender.nickname()); |
|
|
|
|
if (member) { |
|
|
|
|
const auto& chans = member->channels(); |
|
|
|
|
for (auto c : chans) { |
|
|
|
|
channelsAffected.push_back(c->name()); |
|
|
|
|
c->delMember(member); |
|
|
|
|
for (const auto& c : chans) { |
|
|
|
|
const auto cptr = c.lock(); |
|
|
|
|
channelsAffected.push_back(cptr->name()); |
|
|
|
|
cptr->delMember(member); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
super.v3onMsgAway(sender, msg, channelsAffected); |
|
|
|
|