X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fircparser.cpp;h=bc10d93e7e36abf0ab6be0588183536b242c6b9f;hb=51ced68c9ba7f733c354e0b2dc737caa1f436a47;hp=f5363554443ad194e98ab4448210daa228b10eee;hpb=921e54680da16fcf2adb7a90506875aceb6633a4;p=quassel.git diff --git a/src/core/ircparser.cpp b/src/core/ircparser.cpp index f5363554..bc10d93e 100644 --- a/src/core/ircparser.cpp +++ b/src/core/ircparser.cpp @@ -273,6 +273,15 @@ void IrcParser::processNetworkIncoming(NetworkDataEvent *e) } break; + case EventManager::IrcEventAway: + { + QString nick = nickFromMask(prefix); + decParams << nick; + decParams << (params.count() >= 1 ? net->userDecode(nick, params.at(0)) : QString()); + net->updateNickFromMask(prefix); + } + break; + case EventManager::IrcEventNumeric: switch (num) { case 301: /* RPL_AWAY */ @@ -298,6 +307,17 @@ void IrcParser::processNetworkIncoming(NetworkDataEvent *e) decParams << net->channelDecode(channel, params.at(2)); } break; + case 451: /* You have not registered... */ + if (target.compare("CAP", Qt::CaseInsensitive) == 0) { + // :irc.server.com 451 CAP :You have not registered + // If server doesn't support capabilities, it will report this message. Turn it + // into a nicer message since it's not a real error. + defaultHandling = false; + events << new MessageEvent(Message::Server, e->network(), + tr("Capability negotiation not supported"), + QString(), QString(), Message::None, e->timestamp()); + } + break; } default: