From: Marcus Eggenberger Date: Sat, 4 Oct 2008 20:05:28 +0000 (+0200) Subject: fixing crash when handling numeric reply 331 (RPL_NOTOPIC) and 332 (RPL_TOPIC) when... X-Git-Tag: 0.3.1~205 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=86551d612eadd7da9454d898f939208ee48ac3d8;hp=793459d97e7081a4f3db94357a55d74859571445 fixing crash when handling numeric reply 331 (RPL_NOTOPIC) and 332 (RPL_TOPIC) when not on that channel --- diff --git a/src/core/ircserverhandler.cpp b/src/core/ircserverhandler.cpp index 5484d3b4..5e3be1db 100644 --- a/src/core/ircserverhandler.cpp +++ b/src/core/ircserverhandler.cpp @@ -810,7 +810,10 @@ void IrcServerHandler::handle331(const QString &prefix, const QList return; QString channel = serverDecode(params[0]); - network()->ircChannel(channel)->setTopic(QString()); + IrcChannel *chan = network()->ircChannel(channel); + if(chan) + chan->setTopic(QString()); + emit displayMsg(Message::Server, BufferInfo::ChannelBuffer, channel, tr("No topic is set for %1.").arg(channel)); } @@ -822,7 +825,10 @@ void IrcServerHandler::handle332(const QString &prefix, const QList QString channel = serverDecode(params[0]); QString topic = channelDecode(channel, params[1]); - network()->ircChannel(channel)->setTopic(topic); + IrcChannel *chan = network()->ircChannel(channel); + if(chan) + chan->setTopic(topic); + emit displayMsg(Message::Server, BufferInfo::ChannelBuffer, channel, tr("Topic for %1 is \"%2\"").arg(channel, topic)); }