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
}
void NetworkConnection::disconnectFromIrc() {
- socket.disconnectFromHost();
+ if(socket.state() < QAbstractSocket::ConnectedState) {
+ setConnectionState(Network::Disconnected);
+ socketDisconnected();
+ } else socket.disconnectFromHost();
}
void NetworkConnection::socketHasData() {