[aKregator-devel] [Bug 112932] akgregator crashs on deleting items
Brought to you by:
lippel
From: Frank O. <fra...@kd...> - 2005-09-24 07:42:42
|
------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. http://bugs.kde.org/show_bug.cgi?id=112932 ------- Additional Comments From frank.osterfeld kdemail net 2005-09-24 09:42 ------- SVN commit 463465 by osterfeld: forwardport of 112932 (don't crash when deleting articles) CCBUG: 112932 M +3 -0 akregator_view.cpp M +3 -2 article.cpp M +10 -4 feed.cpp --- trunk/KDE/kdepim/akregator/src/akregator_view.cpp #463464:463465 @ -1290,7 +1290,10 @ } for (QList<Feed*>::Iterator it = feeds.begin(); it != feeds.end(); ++it) + { (*it)->setNotificationMode(true); + } + if (m_listTabWidget->activeView()->selectedNode()) m_listTabWidget->activeView()->selectedNode()->setNotificationMode(true); } --- trunk/KDE/kdepim/akregator/src/article.cpp #463464:463465 @ -197,13 +197,14 @ { if (isDeleted()) return; - if (d->feed) - d->feed->setArticleDeleted(*this); + setStatus(Read); d->status = Private::Deleted | Private::Read; d->archive->setStatus(d->guid, d->status); d->archive->setDeleted(d->guid); + if (d->feed) + d->feed->setArticleDeleted(*this); } bool Article::isDeleted() const --- trunk/KDE/kdepim/akregator/src/feed.cpp #463464:463465 @ -712,7 +712,10 @ { if (!d->deletedArticles.contains(a)) d->deletedArticles.append(a); - d->removedArticlesNotify.append(a); + + if (!d->removedArticlesNotify.contains(a)) + d->removedArticlesNotify.append(a); + articlesModified(); } @ -755,17 +758,20 @ { if (!d->addedArticlesNotify.isEmpty()) { - emit signalArticlesAdded(this, d->addedArticlesNotify); + QList<Article> l = d->addedArticlesNotify; + emit signalArticlesAdded(this, l); d->addedArticlesNotify.clear(); } if (!d->updatedArticlesNotify.isEmpty()) { - emit signalArticlesUpdated(this, d->updatedArticlesNotify); + QList<Article> l = d->updatedArticlesNotify; + emit signalArticlesUpdated(this, l); d->updatedArticlesNotify.clear(); } if (!d->removedArticlesNotify.isEmpty()) { - emit signalArticlesRemoved(this, d->removedArticlesNotify); + QList<Article> l = d->removedArticlesNotify; + emit signalArticlesRemoved(this, l); d->removedArticlesNotify.clear(); } TreeNode::doArticleNotification(); |