Summary: | Invalid memory access in feed tree | ||
---|---|---|---|
Product: | [Applications] akregator | Reporter: | George Staikos <staikos> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | cvs | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
George Staikos
2004-12-06 05:22:21 UTC
CVS commit by osterfeld: after deleting a node, select the item below/above Please check if that fixes 94520 (my valgrind went bonkers) CCBUG: 94520 M +1 -6 akregator_view.cpp 1.190 M +4 -3 articlelist.cpp 1.33 M +10 -1 feedstree.cpp 1.31 --- kdenonbeta/akregator/src/akregator_view.cpp #1.189:1.190 @@ -998,10 +998,5 @@ void aKregatorView::slotFeedRemove() { delete selectedNode; - if (m_tree->currentItem()) { - m_tree->currentItem()->setSelected(true); - slotNodeSelected(m_tree->selectedNode()); - } m_tree->setFocus(); - //m_part->setModified(true); } } --- kdenonbeta/akregator/src/articlelist.cpp #1.32:1.33 @@ -176,4 +176,6 @@ void ArticleList::slotShowNode(TreeNode* connect(node, SIGNAL(signalDestroyed(TreeNode*)), this, SLOT(slotClear()) ); + m_node = node; + clear(); @@ -189,5 +191,4 @@ void ArticleList::slotShowNode(TreeNode* m_columnMode = feedMode; } - m_node = node; slotUpdate(); --- kdenonbeta/akregator/src/feedstree.cpp #1.30:1.31 @@ -643,6 +643,15 @@ void FeedsTree::disconnectFromNode(TreeN void FeedsTree::slotNodeDestroyed(TreeNode* node) { - delete findNodeItem(node); + TreeNodeItem* item = findNodeItem(node); m_itemDict.remove(node); + + if ( item->isSelected() ) + { + if (item->itemBelow()) + item->itemBelow()->setSelected(true); + else if (item->itemAbove()) + item->itemAbove()->setSelected(true); + } + delete item; } *** Bug has been marked as fixed ***. |