X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fnetworkconnection.cpp;h=3799e03de8cf59e67501d947dc96bbb9d3363624;hb=a472efdb1d3125358f6c7f5a30c332e6fa395499;hp=381e99d26ce551e74139f63e395ef2d791ef8193;hpb=723db5bff304ad3fdf5a0609198c65a66bfbaea7;p=quassel.git diff --git a/src/core/networkconnection.cpp b/src/core/networkconnection.cpp index 381e99d2..3799e03d 100644 --- a/src/core/networkconnection.cpp +++ b/src/core/networkconnection.cpp @@ -174,7 +174,7 @@ void NetworkConnection::networkInitialized(const QString ¤tServer) { 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() {