Summary: | kmymoney2 crashes when right clicking in a categories tax-editing area | ||
---|---|---|---|
Product: | [Applications] kmymoney2 | Reporter: | Oliver Putz <Regnaron> |
Component: | general | Assignee: | KMyMoney Development Team <kmymoney2-developer> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | tbaumgart |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Oliver Putz
2008-11-28 09:51:24 UTC
Unable to reproduce in CVS HEAD. Please update your version to at least to 0.9.2 and make sure it does not crash for you as well. Sorry, but still crashes. Here is a backtrace for 0.9.2 with full debugging symbols (compiled from source via configure and make) Using host libthread_db library "/lib/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread 0x7f3f55c37700 (LWP 18950)] [KCrash handler] #5 0x000000000092384e in KMyMoneySelector::slotListRightMouse ( this=0x1a9bc20, it_v=0x0, pos=@0x7fff5dc71800) at kmymoneyselector.cpp:657 #6 0x00000000009250e6 in KMyMoneySelector::qt_invoke (this=0x1a9bc20, _id=51, _o=0x7fff5dc715a0) at kmymoneyselector.moc:147 #7 0x00000000008e9212 in kMyMoneyAccountSelector::qt_invoke (this=0x1a9bc20, _id=51, _o=0x7fff5dc715a0) at kmymoneyaccountselector.moc:93 #8 0x00007f3f4f9dc9b1 in QObject::activate_signal (this=0x1a9c070, clist=0x1aa1f70, o=0x7fff5dc715a0) at kernel/qobject.cpp:2380 #9 0x00007f3f4fe2a303 in QListView::rightButtonPressed (this=0x1a9c070, t0=0x0, t1=@0x7fff5dc71800, t2=-1) at .moc/debug-shared-mt/moc_qlistview.cpp:468 #10 0x00007f3f4fb07fa5 in QListView::contentsMousePressEventEx ( this=0x1a9c070, e=0x7fff5dc71900) at widgets/qlistview.cpp:4422 #11 0x00007f3f4fb07fcf in QListView::contentsMousePressEvent (this=0x1a9c070, e=0x7fff5dc71900) at widgets/qlistview.cpp:4237 #12 0x00007f3f51dfaa21 in KListView::contentsMousePressEvent (this=0x1a9c070, e=0x7fff5dc71900) at klistview.cpp:805 #13 0x00007f3f4fb46c3c in QScrollView::viewportMousePressEvent ( this=0x1a9c070, e=0x7fff5dc72140) at widgets/qscrollview.cpp:1733 #14 0x00007f3f4fb480a5 in QScrollView::eventFilter (this=0x1a9c070, obj=0x1a9cfd0, e=0x7fff5dc72140) at widgets/qscrollview.cpp:1496 #15 0x00007f3f4fb0853f in QListView::eventFilter (this=0x1a9c070, o=0x1a9cfd0, e=0x7fff5dc72140) at widgets/qlistview.cpp:3867 #16 0x00007f3f4f9da1c0 in QObject::activate_filters (this=0x1a9cfd0, e=0x7fff5dc72140) at kernel/qobject.cpp:903 #17 0x00007f3f4f9da260 in QObject::event (this=0x1a9cfd0, e=0x7fff5dc72140) at kernel/qobject.cpp:735 #18 0x00007f3f4fa1feb3 in QWidget::event (this=0x1a9cfd0, e=0x7fff5dc72140) at kernel/qwidget.cpp:4659 #19 0x00007f3f4f96197f in QApplication::internalNotify (this=0xebc840, receiver=0x1a9cfd0, e=0x7fff5dc72140) at kernel/qapplication.cpp:2635 #20 0x00007f3f4f963e9c in QApplication::notify (this=0xebc840, receiver=0x1a9cfd0, e=0x7fff5dc72140) at kernel/qapplication.cpp:2421 #21 0x00007f3f5185602e in KApplication::notify (this=0xebc840, receiver=0x1a9cfd0, event=0x7fff5dc72140) at kapplication.cpp:550 #22 0x00007f3f4f8e342e in QApplication::sendSpontaneousEvent ( receiver=0x1a9cfd0, event=0x7fff5dc72140) at kernel/qapplication.h:499 #23 0x00007f3f4f8e2016 in QETWidget::translateMouseEvent (this=0x1a9cfd0, event=0x7fff5dc727d0) at kernel/qapplication_x11.cpp:4298 #24 0x00007f3f4f8dfec2 in QApplication::x11ProcessEvent (this=0xebc840, event=0x7fff5dc727d0) at kernel/qapplication_x11.cpp:3449 #25 0x00007f3f4f8f95a4 in QEventLoop::processEvents (this=0xecd380, flags=4) at kernel/qeventloop_x11.cpp:192 #26 0x00007f3f4f9815e5 in QEventLoop::enterLoop (this=0xecd380) at kernel/qeventloop.cpp:198 #27 0x00007f3f4f963762 in QApplication::enter_loop (this=0xebc840) at kernel/qapplication.cpp:2793 #28 0x00007f3f4fbdd905 in QDialog::exec (this=0x7fff5dc72c60) at dialogs/qdialog.cpp:432 #29 0x00000000005b83f9 in KMyMoney2App::slotAccountEdit (this=0x10566d0) at kmymoney2.cpp:2848 #30 0x00000000005e1379 in KMyMoney2App::qt_invoke (this=0x10566d0, _id=182, _o=0x7fff5dc741d0) at kmymoney2.moc:915 #31 0x00007f3f4f9dc888 in QObject::activate_signal (this=0x1089c40, clist=0x108a0e0, o=0x7fff5dc741d0) at kernel/qobject.cpp:2356 #32 0x00007f3f4f9dd8a2 in QObject::activate_signal (this=0x1089c40, signal=2) at kernel/qobject.cpp:2325 #33 0x00007f3f51dd1799 in KAction::slotPopupActivated (this=0x1089c40) at kaction.cpp:1137 #34 0x00007f3f51dd192e in KAction::qt_invoke (this=0x1089c40, _id=16, _o=0x7fff5dc74360) at kaction.moc:219 #35 0x00007f3f4f9dc888 in QObject::activate_signal (this=0x114d2c0, clist=0x114d420, o=0x7fff5dc74360) at kernel/qobject.cpp:2356 #36 0x00007f3f4fe105a0 in QSignal::signal (this=0x114d2c0, t0=@0x114d310) at .moc/debug-shared-mt/moc_qsignal.cpp:100 #37 0x00007f3f4fa0197c in QSignal::activate (this=0x114d2c0) at kernel/qsignal.cpp:212 #38 0x00007f3f4fb35b0a in QPopupMenu::mouseReleaseEvent (this=0x114b530, e=0x7fff5dc74ae0) at widgets/qpopupmenu.cpp:1691 #39 0x00007f3f4fa1ffc5 in QWidget::event (this=0x114b530, e=0x7fff5dc74ae0) at kernel/qwidget.cpp:4677 #40 0x00007f3f4f96197f in QApplication::internalNotify (this=0xebc840, receiver=0x114b530, e=0x7fff5dc74ae0) at kernel/qapplication.cpp:2635 #41 0x00007f3f4f963e9c in QApplication::notify (this=0xebc840, receiver=0x114b530, e=0x7fff5dc74ae0) at kernel/qapplication.cpp:2421 #42 0x00007f3f5185602e in KApplication::notify (this=0xebc840, receiver=0x114b530, event=0x7fff5dc74ae0) at kapplication.cpp:550 #43 0x00007f3f4f8e342e in QApplication::sendSpontaneousEvent ( receiver=0x114b530, event=0x7fff5dc74ae0) at kernel/qapplication.h:499 #44 0x00007f3f4f8e1d0a in QETWidget::translateMouseEvent (this=0x114b530, event=0x7fff5dc75170) at kernel/qapplication_x11.cpp:4240 #45 0x00007f3f4f8dfec2 in QApplication::x11ProcessEvent (this=0xebc840, event=0x7fff5dc75170) at kernel/qapplication_x11.cpp:3449 #46 0x00007f3f4f8f95a4 in QEventLoop::processEvents (this=0xecd380, flags=4) at kernel/qeventloop_x11.cpp:192 #47 0x00007f3f4f9815e5 in QEventLoop::enterLoop (this=0xecd380) at kernel/qeventloop.cpp:198 #48 0x00007f3f4f963762 in QApplication::enter_loop (this=0xebc840) at kernel/qapplication.cpp:2793 #49 0x00007f3f4fb36a36 in QPopupMenu::exec (this=0x114b530, pos=@0x7fff5dc75500, indexAtPoint=0) at widgets/qpopupmenu.cpp:2424 #50 0x00000000005981f5 in KMyMoney2App::showContextMenu (this=0x10566d0, containerName=@0x7fff5dc75590) at kmymoney2.cpp:4737 #51 0x00000000005984e1 in KMyMoney2App::slotShowAccountContextMenu ( this=0x10566d0, obj=@0x7fff5dc75da0) at kmymoney2.cpp:4772 #52 0x00000000005e1506 in KMyMoney2App::qt_invoke (this=0x10566d0, _id=190, _o=0x7fff5dc75ba0) at kmymoney2.moc:923 #53 0x00007f3f4f9dc888 in QObject::activate_signal (this=0x12ae890, clist=0x12b9ae0, o=0x7fff5dc75ba0) at kernel/qobject.cpp:2356 #54 0x00000000006b71dd in KCategoriesView::openContextMenu (this=0x12ae890, t0=@0x7fff5dc75da0) at kcategoriesview.moc:134 #55 0x00000000006b7426 in KCategoriesView::qt_emit (this=0x12ae890, _id=3, _o=0x7fff5dc75d00) at kcategoriesview.moc:181 #56 0x00007f3f4f9dc863 in QObject::activate_signal (this=0x12afbc0, clist=0x12b9960, o=0x7fff5dc75d00) at kernel/qobject.cpp:2354 #57 0x00000000008eb475 in KMyMoneyAccountTreeBase::openContextMenu ( this=0x12afbc0, t0=@0x7fff5dc75da0) at kmymoneyaccounttreebase.moc:174 #58 0x00000000008ef03e in KMyMoneyAccountTreeBase::slotOpenContextMenu ( this=0x12afbc0, lv=0x12afbc0, i=0x183ec50) at kmymoneyaccounttreebase.cpp:350 #59 0x00000000008efc83 in KMyMoneyAccountTreeBase::qt_invoke (this=0x12afbc0, _id=111, _o=0x7fff5dc75f80) at kmymoneyaccounttreebase.moc:233 #60 0x00000000008f2403 in KMyMoneyAccountTree::qt_invoke (this=0x12afbc0, _id=111, _o=0x7fff5dc75f80) at kmymoneyaccounttree.moc:77 #61 0x00007f3f4f9dc888 in QObject::activate_signal (this=0x12afbc0, clist=0x12b6080, o=0x7fff5dc75f80) at kernel/qobject.cpp:2356 #62 0x00007f3f51df564b in KListView::contextMenu (this=0x12afbc0, t0=0x12afbc0, t1=0x183ec50, t2=@0x7fff5dc76400) at klistview.moc:519 #63 0x00007f3f51dfb6d2 in KListView::qt_invoke (this=0x12afbc0, _id=<value optimized out>, _o=0x7fff5dc761a0) at klistview.moc:571 #64 0x00000000008efce4 in KMyMoneyAccountTreeBase::qt_invoke (this=0x12afbc0, _id=98, _o=0x7fff5dc761a0) at kmymoneyaccounttreebase.moc:240 #65 0x00000000008f2403 in KMyMoneyAccountTree::qt_invoke (this=0x12afbc0, _id=98, _o=0x7fff5dc761a0) at kmymoneyaccounttree.moc:77 #66 0x00007f3f4f9dc888 in QObject::activate_signal (this=0x12afbc0, clist=0x12b5ae0, o=0x7fff5dc761a0) at kernel/qobject.cpp:2356 #67 0x00007f3f4fe2a303 in QListView::rightButtonPressed (this=0x12afbc0, t0=0x183ec50, t1=@0x7fff5dc76400, t2=0) at .moc/debug-shared-mt/moc_qlistview.cpp:468 #68 0x00007f3f4fb07fa5 in QListView::contentsMousePressEventEx ( this=0x12afbc0, e=0x7fff5dc76500) at widgets/qlistview.cpp:4422 #69 0x00007f3f4fb07fcf in QListView::contentsMousePressEvent (this=0x12afbc0, e=0x7fff5dc76500) at widgets/qlistview.cpp:4237 #70 0x00007f3f51dfaa21 in KListView::contentsMousePressEvent (this=0x12afbc0, e=0x7fff5dc76500) at klistview.cpp:805 #71 0x00007f3f4fb46c3c in QScrollView::viewportMousePressEvent ( this=0x12afbc0, e=0x7fff5dc76d40) at widgets/qscrollview.cpp:1733 #72 0x00007f3f4fb480a5 in QScrollView::eventFilter (this=0x12afbc0, obj=0x12b0b80, e=0x7fff5dc76d40) at widgets/qscrollview.cpp:1496 #73 0x00007f3f4fb0853f in QListView::eventFilter (this=0x12afbc0, o=0x12b0b80, e=0x7fff5dc76d40) at widgets/qlistview.cpp:3867 #74 0x00007f3f4f9da1c0 in QObject::activate_filters (this=0x12b0b80, e=0x7fff5dc76d40) at kernel/qobject.cpp:903 #75 0x00007f3f4f9da260 in QObject::event (this=0x12b0b80, e=0x7fff5dc76d40) at kernel/qobject.cpp:735 #76 0x00007f3f4fa1feb3 in QWidget::event (this=0x12b0b80, e=0x7fff5dc76d40) at kernel/qwidget.cpp:4659 #77 0x00007f3f4f96197f in QApplication::internalNotify (this=0xebc840, receiver=0x12b0b80, e=0x7fff5dc76d40) at kernel/qapplication.cpp:2635 #78 0x00007f3f4f963e9c in QApplication::notify (this=0xebc840, receiver=0x12b0b80, e=0x7fff5dc76d40) at kernel/qapplication.cpp:2421 #79 0x00007f3f5185602e in KApplication::notify (this=0xebc840, receiver=0x12b0b80, event=0x7fff5dc76d40) at kapplication.cpp:550 #80 0x00007f3f4f8e342e in QApplication::sendSpontaneousEvent ( receiver=0x12b0b80, event=0x7fff5dc76d40) at kernel/qapplication.h:499 #81 0x00007f3f4f8e2016 in QETWidget::translateMouseEvent (this=0x12b0b80, event=0x7fff5dc773d0) at kernel/qapplication_x11.cpp:4298 #82 0x00007f3f4f8dfec2 in QApplication::x11ProcessEvent (this=0xebc840, event=0x7fff5dc773d0) at kernel/qapplication_x11.cpp:3449 #83 0x00007f3f4f8f95a4 in QEventLoop::processEvents (this=0xecd380, flags=4) at kernel/qeventloop_x11.cpp:192 #84 0x00007f3f4f9815e5 in QEventLoop::enterLoop (this=0xecd380) at kernel/qeventloop.cpp:198 #85 0x00007f3f4f9813eb in QEventLoop::exec (this=0xecd380) at kernel/qeventloop.cpp:145 #86 0x00007f3f4f9637c4 in QApplication::exec (this=0xebc840) at kernel/qapplication.cpp:2758 #87 0x00000000005f2d5f in main (argc=1, argv=0x7fff5dc77d78) at main.cpp:285 Current language: auto; currently c For what its worth: I just checked that I can also reproduce the crash with a new kmymoney file. So its not a problem with my particular file and data. Ok, one last comment: You need to click in the *empty* section of that view. From the code it seems to me as if a right click there makes the signal rightButtonPressed send a bogus QListViewItem to the slotListRightMouse slot. There you then dereference that (invalid) pointer which leads to the described crash. Not sure if its a valid action, but just checking for that pointers validity and changing void KMyMoneySelector::slotListRightMouse(QListViewItem* it_v, const QPoint& pos, int /* col */) { if(it_v->rtti() == 1) { [...] to void KMyMoneySelector::slotListRightMouse(QListViewItem* it_v, const QPoint& pos, int /* col */) { if (!it_v) return; if(it_v->rtti() == 1) { [...] in kmymoneyselector.cpp fixes the crash for me. Ok, clicking in the empty area even crashes in CVS HEAD. ... or just if(it_v && (it_v->rtti() == 1)) which solves the issue. Now available in CVS HEAD. |