X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fircserverhandler.cpp;h=4ee153ee3d5686acd020b2222776fe9cacf5f7ef;hb=a4ca568cdf68cf4a0343eb161518dc8e50cea87d;hp=ce15f7818ecf53ad56c9eaf79a56d53e8e56344d;hpb=c8758c4d265a9fe553aa587e8ad0b89407a9d65c;p=quassel.git diff --git a/src/core/ircserverhandler.cpp b/src/core/ircserverhandler.cpp index ce15f781..4ee153ee 100644 --- a/src/core/ircserverhandler.cpp +++ b/src/core/ircserverhandler.cpp @@ -346,6 +346,10 @@ void IrcServerHandler::handleMode(const QString &prefix, const QList if(!removeModes.isEmpty()) ircUser->removeUserModes(removeModes); + if(network()->isMe(ircUser)) { + network()->updatePersistentModes(addModes, removeModes); + } + // FIXME: redirect emit displayMsg(Message::Mode, BufferInfo::StatusBuffer, "", serverDecode(params).join(" "), prefix); } @@ -619,6 +623,9 @@ void IrcServerHandler::handle005(const QString &prefix, const QList QString value = rawSupport.section("=", 1); network()->addSupport(key, value); } + + /* determine our prefixes here to get an accurate result */ + network()->determinePrefixes(); } /* RPL_UMODEIS - " []" */