X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=8d6068912e140401086a7e0a30e5e06aae9c01a5;hb=c0e4730a50f812cd3795d47561357ff221094f8c;hp=c2cbb2f18403a8197c32753dd1286edb1b53459e;hpb=2f600006c172342f253f1763620f5e635bc5b86f;p=quassel.git diff --git a/src/client/client.cpp b/src/client/client.cpp index c2cbb2f1..8d606891 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -83,6 +83,7 @@ Client::~Client() { void Client::init() { _currentCoreAccount = 0; _networkModel = new NetworkModel(this); + connect(this, SIGNAL(bufferUpdated(BufferInfo)), _networkModel, SLOT(bufferUpdated(BufferInfo))); connect(this, SIGNAL(networkRemoved(NetworkId)), @@ -325,18 +326,19 @@ void Client::setSecuredConnection() { void Client::disconnectFromCore() { if(!isConnected()) return; + _connectedToCore = false; if(socket) { socket->close(); socket->deleteLater(); } - _connectedToCore = false; _syncedToCore = false; - setCurrentCoreAccount(0); emit disconnected(); emit coreConnectionStateChanged(false); // Clear internal data. Hopefully nothing relies on it at this point. + setCurrentCoreAccount(0); + if(_bufferSyncer) { _bufferSyncer->deleteLater(); _bufferSyncer = 0; @@ -346,7 +348,7 @@ void Client::disconnectFromCore() { _bufferViewManager->deleteLater(); _bufferViewManager = 0; } - + _networkModel->clear(); QHash::iterator bufferIter = _buffers.begin();