X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fircparser.cpp;h=681346c1740cc2fbccd2b6ffe41a471347be324d;hb=9c59843b54202a69f4c01171b28bf79b26c27975;hp=bc10d93e7e36abf0ab6be0588183536b242c6b9f;hpb=51ced68c9ba7f733c354e0b2dc737caa1f436a47;p=quassel.git diff --git a/src/core/ircparser.cpp b/src/core/ircparser.cpp index bc10d93e..681346c1 100644 --- a/src/core/ircparser.cpp +++ b/src/core/ircparser.cpp @@ -180,6 +180,7 @@ void IrcParser::processNetworkIncoming(NetworkDataEvent *e) if (checkParamCount(cmd, params, 1)) { QString senderNick = nickFromMask(prefix); + net->updateNickFromMask(prefix); QByteArray msg = params.count() < 2 ? QByteArray() : params.at(1); QStringList targets = net->serverDecode(params.at(0)).split(',', QString::SkipEmptyParts); @@ -226,8 +227,10 @@ void IrcParser::processNetworkIncoming(NetworkDataEvent *e) else { if (!target.isEmpty() && net->prefixes().contains(target.at(0))) target = target.mid(1); - if (!net->isChannelName(target)) + if (!net->isChannelName(target)) { target = nickFromMask(prefix); + net->updateNickFromMask(prefix); + } } #ifdef HAVE_QCA2 @@ -256,12 +259,14 @@ void IrcParser::processNetworkIncoming(NetworkDataEvent *e) QString channel = net->serverDecode(params.at(0)); decParams << channel; decParams << net->userDecode(nickFromMask(prefix), params.at(1)); + net->updateNickFromMask(prefix); } break; case EventManager::IrcEventQuit: if (params.count() >= 1) { decParams << net->userDecode(nickFromMask(prefix), params.at(0)); + net->updateNickFromMask(prefix); } break;