}
void Client::setSyncedToCore() {
- // create buffersyncer
+ // create buffersyncer
Q_ASSERT(!_bufferSyncer);
_bufferSyncer = new BufferSyncer(this);
connect(bufferSyncer(), SIGNAL(lastSeenSet(BufferId, const QDateTime &)), this, SLOT(updateLastSeen(BufferId, const QDateTime &)));
}
void Client::disconnectFromCore() {
+ if(!isConnected())
+ return;
+
if(socket) {
socket->close();
socket->deleteLater();
emit coreConnectionStateChanged(false);
// Clear internal data. Hopefully nothing relies on it at this point.
- _bufferSyncer->deleteLater();
- _bufferSyncer = 0;
+ if(_bufferSyncer) {
+ _bufferSyncer->deleteLater();
+ _bufferSyncer = 0;
+ }
_networkModel->clear();
QHash<BufferId, Buffer *>::iterator bufferIter = _buffers.begin();
AbstractTreeItem *child;
- QList<AbstractTreeItem *>::iterator childIter = _childItems.begin();
+ QList<AbstractTreeItem *>::iterator childIter;
+
+ childIter = _childItems.begin();
while(childIter != _childItems.end()) {
child = *childIter;
child->removeAllChilds();
+ childIter++;
}
emit beginRemoveChilds(0, numChilds - 1);
+ childIter = _childItems.begin();
while(childIter != _childItems.end()) {
child = *childIter;
childIter = _childItems.erase(childIter);
quasselVersion = "0.2.0-pre";
quasselDate = "2008-02-18";
- quasselBuild = 544;
+ quasselBuild = 545;
//! Minimum client build number the core needs
clientBuildNeeded = 526;