fixed misdirected notices and privmsgs
authorMarcus Eggenberger <egs@quassel-irc.org>
Mon, 18 Feb 2008 19:23:38 +0000 (19:23 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Mon, 18 Feb 2008 19:23:38 +0000 (19:23 +0000)
src/core/basichandler.cpp
src/core/ircserverhandler.cpp
version.inc

index d93a844..f37a89c 100644 (file)
@@ -190,7 +190,10 @@ void BasicHandler::putCmd(const QString &cmd, const QList<QByteArray> &params, c
 }
 
 void BasicHandler::displayMsg(Message::Type msgType, QString target, QString text, QString sender, quint8 flags) {
-  if(target.startsWith('$') || target.startsWith('#'))
+  IrcChannel *channel = network()->ircChannel(target);
+  if(!channel && (target.startsWith('$') || target.startsWith('#')))
     target = nickFromMask(sender);
+  
+  qDebug() << typeByTarget(target) << target << BufferInfo::ChannelBuffer;
   emit displayMsg(msgType, typeByTarget(target), target, text, sender, flags);
 }
index f3e6680..05fe413 100644 (file)
@@ -254,25 +254,12 @@ void IrcServerHandler::handleNotice(const QString &prefix, const QList<QByteArra
   }
 
   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> &params) {
index f104bf9..c03c844 100644 (file)
@@ -5,7 +5,7 @@
 
   quasselVersion = "0.2.0-pre";
   quasselDate = "2008-02-18";
-  quasselBuild = 532;
+  quasselBuild = 539;
 
   //! Minimum client build number the core needs
   clientBuildNeeded = 526;