/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
? newnick
: prefix;
+
+ // the order is cruicial
+ // otherwise the client would rename the buffer, see that the assigned ircuser doesn't match anymore
+ // and remove the ircuser from the querybuffer leading to a wrong on/offline state
+ ircuser->setNick(newnick);
coreSession()->renameBuffer(network()->networkId(), newnick, oldnick);
+
foreach(QString channel, ircuser->channels())
emit displayMsg(Message::Nick, BufferInfo::ChannelBuffer, channel, newnick, sender);
-
- ircuser->setNick(newnick);
}
void IrcServerHandler::handleNotice(const QString &prefix, const QList<QByteArray> ¶ms) {