From: Marcus Eggenberger Date: Mon, 18 Feb 2008 21:36:08 +0000 (+0000) Subject: fix for minor issues with the buffer removal X-Git-Tag: 0.2.0-alpha1~36 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=c7a5ea8c0e5807fd0079bcb10cb88e4356526bad fix for minor issues with the buffer removal --- diff --git a/src/client/treemodel.cpp b/src/client/treemodel.cpp index ad0706e1..960f7e84 100644 --- a/src/client/treemodel.cpp +++ b/src/client/treemodel.cpp @@ -55,6 +55,7 @@ bool AbstractTreeItem::removeChild(int row) { if(childCount() <= row) return false; + child(row)->removeAllChilds(); emit beginRemoveChilds(row, row); AbstractTreeItem *treeitem = _childItems.takeAt(row); treeitem->deleteLater(); @@ -82,8 +83,13 @@ void AbstractTreeItem::removeAllChilds() { AbstractTreeItem *child; - emit beginRemoveChilds(0, numChilds - 1); QList::iterator childIter = _childItems.begin(); + while(childIter != _childItems.end()) { + child = *childIter; + child->removeAllChilds(); + } + + emit beginRemoveChilds(0, numChilds - 1); while(childIter != _childItems.end()) { child = *childIter; childIter = _childItems.erase(childIter); diff --git a/src/common/buffersyncer.cpp b/src/common/buffersyncer.cpp index 64c3bb63..b97d2337 100644 --- a/src/common/buffersyncer.cpp +++ b/src/common/buffersyncer.cpp @@ -66,5 +66,7 @@ void BufferSyncer::requestRemoveBuffer(BufferId buffer) { } void BufferSyncer::removeBuffer(BufferId buffer) { + if(_lastSeen.contains(buffer)) + _lastSeen.remove(buffer); emit bufferRemoved(buffer); } diff --git a/version.inc b/version.inc index 7ee25773..32c4a217 100644 --- a/version.inc +++ b/version.inc @@ -5,7 +5,7 @@ quasselVersion = "0.2.0-pre"; quasselDate = "2008-02-18"; - quasselBuild = 541; + quasselBuild = 544; //! Minimum client build number the core needs clientBuildNeeded = 526;