X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fircparser.cpp;h=2a06811188ebee715af71d476376a96d7064a145;hp=dc9c227c6934993357ebc858985eb26467b2f71e;hb=615c5621f63360ef11c9cc3519c0462d8b5ec85b;hpb=d42c74ba50a4f86b1da9a70e12a287ff16afcf71 diff --git a/src/core/ircparser.cpp b/src/core/ircparser.cpp index dc9c227c..2a068111 100644 --- a/src/core/ircparser.cpp +++ b/src/core/ircparser.cpp @@ -174,7 +174,8 @@ void IrcParser::processNetworkIncoming(NetworkDataEvent *e) { msg = decrypt(net, target, msg); - events << new IrcEventRawMessage(EventManager::IrcEventRawPrivmsg, net, prefix, target, msg); + events << new IrcEventRawMessage(EventManager::IrcEventRawPrivmsg, net, msg, prefix, target, e->timestamp()); + //events << new MessageEvent(Message::Plain, net, net->channelDecode(target, msg), target, prefix); } } break; @@ -199,7 +200,7 @@ void IrcParser::processNetworkIncoming(NetworkDataEvent *e) { CoreIrcChannel *chan = static_cast(net->ircChannel(channelname)); // we only have CoreIrcChannels in the core, so this cast is safe if(chan && !chan->receivedWelcomeMsg()) { chan->setReceivedWelcomeMsg(); - events << new MessageEvent(Message::Notice, net, decMsg, channelname, prefix); + events << new MessageEvent(Message::Notice, net, decMsg, prefix, channelname, Message::None, e->timestamp()); continue; } } @@ -213,7 +214,7 @@ void IrcParser::processNetworkIncoming(NetworkDataEvent *e) { if(!net->isChannelName(target)) target = nickFromMask(prefix); } - events << new IrcEventRawMessage(EventManager::IrcEventRawNotice, net, prefix, target, msg); + events << new IrcEventRawMessage(EventManager::IrcEventRawNotice, net, msg, prefix, target, e->timestamp()); } } break; @@ -241,10 +242,10 @@ void IrcParser::processNetworkIncoming(NetworkDataEvent *e) { break; case EventManager::IrcEventTopic: - if(params.count() >= 2) { + if(params.count() >= 1) { QString channel = net->serverDecode(params.at(0)); decParams << channel; - decParams << net->channelDecode(channel, decrypt(net, channel, params.at(1), true)); + decParams << (params.count() >= 2? net->channelDecode(channel, decrypt(net, channel, params.at(1), true)) : QString()); } break; @@ -289,6 +290,7 @@ void IrcParser::processNetworkIncoming(NetworkDataEvent *e) { else event = new IrcEvent(type, net, prefix); event->setParams(decParams); + event->setTimestamp(e->timestamp()); events << event; }