fixing BR #264 (core crash after join)
authorMarcus Eggenberger <egs@quassel-irc.org>
Sun, 10 Aug 2008 11:59:36 +0000 (13:59 +0200)
committerMarcus Eggenberger <egs@quassel-irc.org>
Sun, 10 Aug 2008 11:59:36 +0000 (13:59 +0200)
src/core/ircserverhandler.cpp

index 58a2302..b6879bb 100644 (file)
@@ -216,6 +216,12 @@ void IrcServerHandler::handleMode(const QString &prefix, const QList<QByteArray>
     emit displayMsg(Message::Mode, BufferInfo::ChannelBuffer, serverDecode(params[0]), serverDecode(params).join(" "), prefix);
 
     IrcChannel *channel = network()->ircChannel(params[0]);
+    if(!channel) {
+      // we received mode information for a channel we're not in. that means probably we've just been kicked out or something like that
+      // anyways: we don't have a place to store the data --> discard the info.
+      return;
+    }
+
     QString modes = params[1];
     bool add = true;
     int paramOffset = 2;