Thread: [aKregator-devel] [Bug 94520] New: Invalid memory access in feed tree
Brought to you by:
lippel
From: George S. <st...@kd...> - 2004-12-06 04:22:26
|
------- 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=94520 Summary: Invalid memory access in feed tree Product: akregator Version: cvs Platform: Compiled Sources OS/Version: Linux Status: NEW Severity: crash Priority: NOR Component: general AssignedTo: akregator-devel lists sourceforge net ReportedBy: staikos kde org RMB->Delete a feed and this happens. ==4163== 29 errors in context 9 of 11: ==4163== Invalid read of size 1 ==4163== at 0x4190AAAE: QListViewItem::isSelected() const (widgets/qlistview.h:126) ==4163== by 0x41099CD0: KListView::contentsMouseMoveEvent(QMouseEvent*) (klistview.cpp:794) ==4163== by 0x4193332E: QScrollView::viewportMouseMoveEvent(QMouseEvent*) (widgets/qscrollview.cpp:1782) ==4163== by 0x419328B1: QScrollView::eventFilter(QObject*, QEvent*) (widgets/qscrollview.cpp:1512) ==4163== by 0x418FCA08: QListView::eventFilter(QObject*, QEvent*) (widgets/qlistview.cpp:3833) ==4163== by 0x4180B93F: QObject::activate_filters(QEvent*) (kernel/qobject.cpp:902) ==4163== by 0x4180B7B1: QObject::event(QEvent*) (kernel/qobject.cpp:735) ==4163== by 0x41846052: QWidget::event(QEvent*) (kernel/qwidget.cpp:4653) ==4163== by 0x417AB7A0: QApplication::internalNotify(QObject*, QEvent*) (kernel/qapplication.cpp:2620) ==4163== by 0x417AAF56: QApplication::notify(QObject*, QEvent*) (kernel/qapplication.cpp:2406) ==4163== by 0x412EC4FA: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:528) ==4163== by 0x417411D2: QApplication::sendSpontaneousEvent(QObject*, QEvent*) (kernel/qapplication.h:494) ==4163== by 0x4173A1DE: QETWidget::translateMouseEvent(_XEvent const*) (kernel/qapplication_x11.cpp:4257) ==4163== by 0x41737E3E: QApplication::x11ProcessEvent(_XEvent*) (kernel/qapplication_x11.cpp:3408) ==4163== by 0x41752569: QEventLoop::processEvents(unsigned) (kernel/qeventloop_x11.cpp:192) ==4163== by 0x417BFACD: QEventLoop::enterLoop() (kernel/qeventloop.cpp:198) ==4163== by 0x417BF9E9: QEventLoop::exec() (kernel/qeventloop.cpp:145) ==4163== by 0x417AB920: QApplication::exec() (kernel/qapplication.cpp:2743) ==4163== by 0x80501C2: main (main.cpp:66) ==4163== by 0x420768AD: __libc_start_main (in /lib/libc.so.6) ==4163== by 0x8050060: (within /opt/kde-devel/bin/akregator) ==4163== Address 0x48501E7A is 18 bytes inside a block of size 52 free'd ==4163== at 0x40027ED7: __builtin_delete (vg_replace_malloc.c:244) ==4163== by 0x40027EF5: operator delete(void*) (vg_replace_malloc.c:253) ==4163== by 0x4B21C3FF: Akregator::FeedItem::~FeedItem() (feeditem.cpp:58) ==4163== by 0x4B1FA333: Akregator::FeedsTree::slotNodeDestroyed(Akregator::TreeNode*) (feedstree.cpp:645) ==4163== by 0x4B1FA9A3: Akregator::FeedsTree::qt_invoke(int, QUObject*) (/opt/qt-copy/include/private/qucom_p.h:312) ==4163== by 0x4180E02D: QObject::activate_signal(QConnectionList*, QUObject*) (kernel/qobject.cpp:2380) ==4163== by 0x4B21AB17: Akregator::TreeNode::signalDestroyed(Akregator::TreeNode*) (treenode.moc:130) ==4163== by 0x4B21A488: Akregator::TreeNode::~TreeNode() (treenode.cpp:23) ==4163== by 0x4B1FBF73: Akregator::Feed::~Feed() (/opt/qt-copy/include/qstring.h:848) ==4163== by 0x4B22DF64: Akregator::aKregatorView::slotFeedRemove() (akregator_view.cpp:1025) ==4163== by 0x4B231309: Akregator::aKregatorView::qt_invoke(int, QUObject*) (akregator_view.moc:318) ==4163== by 0x4180DEE0: QObject::activate_signal(QConnectionList*, QUObject*) (kernel/qobject.cpp:2356) ==4163== by 0x4180DD7F: QObject::activate_signal(int) (kernel/qobject.cpp:2325) ==4163== by 0x41068EF5: KAction::activated() (/opt/qt-copy/include/qmetaobject.h:261) ==4163== by 0x41068535: KAction::slotActivated() (kaction.cpp:1102) ==4163== by 0x41068FA4: KAction::qt_invoke(int, QUObject*) (kaction.moc:181) ==4163== by 0x4180DEE0: QObject::activate_signal(QConnectionList*, QUObject*) (kernel/qobject.cpp:2356) ==4163== by 0x41B66833: QSignal::signal(QVariant const&) (.moc/debug-shared-mt/moc_qsignal.cpp:100) ==4163== by 0x4182B4F2: QSignal::activate() (kernel/qsignal.cpp:212) ==4163== by 0x41923597: QPopupMenu::mouseReleaseEvent(QMouseEvent*) (widgets/qpopupmenu.cpp:1689) ==4163== by 0x4184612E: QWidget::event(QEvent*) (kernel/qwidget.cpp:4671) ==4163== by 0x417AB7A0: QApplication::internalNotify(QObject*, QEvent*) (kernel/qapplication.cpp:2620) ==4163== by 0x417AAF56: QApplication::notify(QObject*, QEvent*) (kernel/qapplication.cpp:2406) ==4163== by 0x412EC4FA: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:528) ==4163== by 0x417411D2: QApplication::sendSpontaneousEvent(QObject*, QEvent*) (kernel/qapplication.h:494) ==4163== by 0x41739F5D: QETWidget::translateMouseEvent(_XEvent const*) (kernel/qapplication_x11.cpp:4199) ==4163== by 0x41737E3E: QApplication::x11ProcessEvent(_XEvent*) (kernel/qapplication_x11.cpp:3408) ==4163== by 0x41752569: QEventLoop::processEvents(unsigned) (kernel/qeventloop_x11.cpp:192) ==4163== by 0x417BFACD: QEventLoop::enterLoop() (kernel/qeventloop.cpp:198) ==4163== by 0x417AB98A: QApplication::enter_loop() (kernel/qapplication.cpp:2775) ==4163== by 0x41926778: QPopupMenu::exec(QPoint const&, int) (widgets/qpopupmenu.cpp:2422) ==4163== by 0x4B22CF70: Akregator::aKregatorView::slotFeedTreeContextMenu(KListView*, QListViewItem*, QPoint const&) (akregator_view.cpp:741) ==4163== by 0x4B231445: Akregator::aKregatorView::qt_invoke(int, QUObject*) (/opt/qt-copy/include/private/qucom_p.h:312) ==4163== by 0x4180DEE0: QObject::activate_signal(QConnectionList*, QUObject*) (kernel/qobject.cpp:2356) ==4163== by 0x410A0968: KListView::contextMenu(KListView*, QListViewItem*, QPoint const&) (klistview.moc:518) ==4163== by 0x4109CF42: KListView::emitContextMenu(QListViewItem*, QPoint const&, int) (klistview.cpp:1888) ==4163== by 0x410A0BD4: KListView::qt_invoke(int, QUObject*) (/opt/qt-copy/include/private/qucom_p.h:312) ==4163== by 0x4B1FA8DB: Akregator::FeedsTree::qt_invoke(int, QUObject*) (feedstree.moc:237) ==4163== by 0x4180DEE0: QObject::activate_signal(QConnectionList*, QUObject*) (kernel/qobject.cpp:2356) ==4163== by 0x41B7C4BC: QListView::rightButtonPressed(QListViewItem*, QPointconst&, int) (.moc/debug-shared-mt/moc_qlistview.cpp:468) |
From: Frank O. <fra...@kd...> - 2004-12-07 10:15:36
|
------- 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=94520 ------- Additional Comments From frank.osterfeld kdemail net 2004-12-07 11:15 ------- 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; } |
From: George S. <st...@kd...> - 2004-12-12 18:22:52
|
------- 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=94520 staikos kde org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Additional Comments From staikos kde org 2004-12-12 19:22 ------- *** Bug has been marked as fixed ***. |