CoreNetwork::~CoreNetwork() {
if(connectionState() != Disconnected && connectionState() != Network::Reconnecting)
disconnectFromIrc(false); // clean up, but this does not count as requested disconnect!
+ else
+ socket.close();
disconnect(&socket, 0, this, 0); // this keeps the socket from triggering events during clean up
delete _ircServerHandler;
delete _userInputHandler;
// rejoin channels we've been in
if(rejoinChannels()) {
QStringList channels, keys;
- foreach(QString chan, persistentChannels()) {
+ foreach(QString chan, coreSession()->persistentChannels(networkId()).keys()) {
QString key = channelKey(chan);
if(!key.isEmpty()) {
channels.prepend(chan);