// This cannot be fixed unless the SignalProxy() doesn't rely on methodIds anymore
QString modes = params[1];
bool add = true;
- int modeIndex = 0;
+ int modeIndex = 2;
for(int c = 0; c < modes.length(); c++) {
if(modes[c] == '+') {
add = true;
? newnick
: prefix;
+
+ emit nickChanged(newnick, oldnick);
foreach(QString channel, ircuser->channels())
emit displayMsg(Message::Nick, BufferInfo::ChannelBuffer, channel, newnick, sender);
}
QString target = serverDecode(params[0]);
+ if(prefix.isEmpty() || target == "AUTH")
+ target = "";
+ else if(!network()->isChannelName(target))
+ target = nickFromMask(prefix);
-
- // check if it's only a Server Message or if it's a regular Notice
- if(network()->currentServer().isEmpty() || network()->currentServer() == prefix) {
- emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", serverDecode(params[1]), prefix);
- return;
- }
-
-
-
- // kick notices to the server buffer if they are directly addressed to us
- if(network()->isMyNick(target))
- target = QString("");
-
- QString sender = prefix.contains('!')
- ? nickFromMask(prefix)
- : prefix;
-
- networkConnection()->ctcpHandler()->parse(Message::Notice, sender, target, params[1]);
+ networkConnection()->ctcpHandler()->parse(Message::Notice, prefix, target, params[1]);
}
void IrcServerHandler::handlePart(const QString &prefix, const QList<QByteArray> ¶ms) {