From: Marcus Eggenberger Date: Mon, 18 Feb 2008 22:20:24 +0000 (+0000) Subject: fixes to the TreeModel and Client X-Git-Tag: 0.2.0-alpha1~35 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=f953257711e147661ce79e4da4c8b84f083e3e95 fixes to the TreeModel and Client --- diff --git a/src/client/client.cpp b/src/client/client.cpp index e3a92819..d57678dd 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -280,7 +280,7 @@ void Client::setConnectedToCore(QIODevice *sock, AccountId id) { } 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 &))); @@ -293,6 +293,9 @@ void Client::setSyncedToCore() { } void Client::disconnectFromCore() { + if(!isConnected()) + return; + if(socket) { socket->close(); socket->deleteLater(); @@ -304,8 +307,10 @@ void Client::disconnectFromCore() { 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::iterator bufferIter = _buffers.begin(); diff --git a/src/client/treemodel.cpp b/src/client/treemodel.cpp index 960f7e84..9a01abf4 100644 --- a/src/client/treemodel.cpp +++ b/src/client/treemodel.cpp @@ -83,13 +83,17 @@ void AbstractTreeItem::removeAllChilds() { AbstractTreeItem *child; - QList::iterator childIter = _childItems.begin(); + QList::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); diff --git a/version.inc b/version.inc index 32c4a217..528b199d 100644 --- a/version.inc +++ b/version.inc @@ -5,7 +5,7 @@ quasselVersion = "0.2.0-pre"; quasselDate = "2008-02-18"; - quasselBuild = 544; + quasselBuild = 545; //! Minimum client build number the core needs clientBuildNeeded = 526;