Prevent server from crashing, while trying to connect to erroneus networks...
[quassel.git] / src / core / coresession.cpp
index 726ddb8..dcc5641 100644 (file)
@@ -1,11 +1,11 @@
 /***************************************************************************
- *   Copyright (C) 2005-07 by The Quassel IRC Development Team             *
+ *   Copyright (C) 2005-07 by the Quassel IRC Team                         *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
+ *   (at your option) version 3.                                           *
  *                                                                         *
  *   This program is distributed in the hope that it will be useful,       *
  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
@@ -24,7 +24,6 @@
 #include "signalproxy.h"
 #include "storage.h"
 
-#include "synchronizer.h"
 #include "networkinfo.h"
 #include "ircuser.h"
 #include "ircchannel.h"
@@ -38,7 +37,7 @@ CoreSession::CoreSession(UserId uid, Storage *_storage, QObject *parent)
     _signalProxy(new SignalProxy(SignalProxy::Server, 0, this)),
     storage(_storage)
 {
-
+  
   QSettings s;
   s.beginGroup(QString("SessionData/%1").arg(user));
   mutex.lock();
@@ -52,7 +51,6 @@ CoreSession::CoreSession(UserId uid, Storage *_storage, QObject *parent)
   p->attachSlot(SIGNAL(requestNetworkStates()), this, SLOT(serverStateRequested()));
   p->attachSlot(SIGNAL(requestConnect(QString)), this, SLOT(connectToNetwork(QString)));
   p->attachSlot(SIGNAL(sendInput(BufferInfo, QString)), this, SLOT(msgFromGui(BufferInfo, QString)));
-  p->attachSlot(SIGNAL(importOldBacklog()), storage, SLOT(importOldBacklog()));
   p->attachSlot(SIGNAL(requestBacklog(BufferInfo, QVariant, QVariant)), this, SLOT(sendBacklog(BufferInfo, QVariant, QVariant)));
   p->attachSignal(this, SIGNAL(displayMsg(Message)));
   p->attachSignal(this, SIGNAL(displayStatusMsg(QString, QString)));
@@ -104,6 +102,10 @@ QVariant CoreSession::retrieveSessionData(const QString &key, const QVariant &de
 // FIXME switch to NetworkIDs
 void CoreSession::connectToNetwork(QString network) {
   uint networkid = getNetworkId(network);
+  if(networkid == 0) {
+    qWarning() << "unable to connect to Network" << network << "(User:" << userId() << "): unable to determine NetworkId";
+    return;
+  }
   if(!servers.contains(networkid)) {
     Server *server = new Server(userId(), networkid, network);
     servers[networkid] = server;