added missing queries
[quassel.git] / src / core / networkconnection.cpp
index 381e99d..3799e03 100644 (file)
@@ -174,7 +174,7 @@ void NetworkConnection::networkInitialized(const QString &currentServer) {
   if(chans.count() > 0) {
     qDebug() << "autojoining" << chans;
     QVariantList list;
-    foreach(QString chan, chans) list << serverEncode(chan);
+    list << serverEncode(chans.join(",")); // TODO add channel passwords
     putCmd("JOIN", list);  // FIXME check for 512 byte limit!
   }
   // delete _previousState, we won't need it again
@@ -204,7 +204,10 @@ QVariant NetworkConnection::state() const {
 }
 
 void NetworkConnection::disconnectFromIrc() {
-  socket.disconnectFromHost();
+  if(socket.state() < QAbstractSocket::ConnectedState) {
+    setConnectionState(Network::Disconnected);
+    socketDisconnected();
+  } else socket.disconnectFromHost();
 }
 
 void NetworkConnection::socketHasData() {