Bug 487458

Summary: Toolbar add items
Product: [Applications] kmymoney Reporter: bnbunch
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: CONFIRMED ---    
Severity: crash CC: nate, ralf.habacker
Priority: NOR    
Version: 5.1.3   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description bnbunch 2024-05-24 04:10:47 UTC
Using KmyMoney Windows version 5.1.3
Trying to add Items to toolbar:
Show:
reports
payees
ledger
category
Seems anything starting with "Show" all crash when clicked. When restart KMymoney all disappear from toolbar. All others that are working remain. However All items beginning with "Show" are still in Current actions and have to remove them back to  available side
Comment 1 Ralf Habacker 2024-08-28 20:59:26 UTC
I was able to reproduce it with the win64 variant of the KMyMoney 5.1 (stable snapshot) from https://kmymoney.org/snapshots.php  

How to reproduce:
1. start kmymoney
2. add the following entry to the toolbar  
   - show reconciled transactions
   - show all accounts
   - show banking page
3. click on "show banking page"

OBSERVED RESULTS:
The application crashes with the following backtrace:

#0  QWidgetPrivate::setEnabled_helper (this=0x7fffff9c6fe0, enable=false) at ../../include/QtWidgets/../../../qtbase-everywhere-src-5.15.14+kde140/src/widgets/kernel/qwidget.h:883
#1  0x00006ffff43f2052 in QWidget::setEnabled (this=<optimized out>, enable=<optimized out>) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/kernel/qwidget.cpp:3227
#2  0x0000000140031eb4 in KGlobalLedgerView::updateLedgerActionsInternal (this=0x7ff2a6050ad0) at /home/abuild/rpmbuild/BUILD/kmymoney-5.1+20240824+git.2161a0cd/kmymoney/views/kgloballedgerview.cpp:295
#3  0x00000001400404d2 in KGlobalLedgerView::updateLedgerActions (list=..., this=0x7ff2a6050ad0) at /home/abuild/rpmbuild/BUILD/kmymoney-5.1+20240824+git.2161a0cd/kmymoney/views/kgloballedgerview.cpp:272
#4  KGlobalLedgerView::slotSelectByVariant (this=0x7ff2a6050ad0, variant=..., intent=<optimized out>) at /home/abuild/rpmbuild/BUILD/kmymoney-5.1+20240824+git.2161a0cd/kmymoney/views/kgloballedgerview.cpp:696
#5  0x000000014004e851 in KMyMoneyView::resetViewSelection (this=this@entry=0x7ff2a5ec79b0) at /home/abuild/rpmbuild/BUILD/kmymoney-5.1+20240824+git.2161a0cd/kmymoney/views/kmymoneyview.cpp:642
#6  0x000000014004e9c3 in KMyMoneyView::showPage (this=this@entry=0x7ff2a5ec79b0, idView=<optimized out>, idView@entry=View::Institutions) at /home/abuild/rpmbuild/BUILD/kmymoney-5.1+20240824+git.2161a0cd/kmymoney/views/kmymoneyview.cpp:481
#7  0x0000000140050755 in KMyMoneyView::showPageAndFocus (idView=<optimized out>, this=0x7ff2a5ec79b0) at /home/abuild/rpmbuild/BUILD/kmymoney-5.1+20240824+git.2161a0cd/kmymoney/views/kmymoneyview.cpp:470
#8  KMyMoneyView::slotShowInstitutionsPage (this=0x7ff2a5ec79b0) at /home/abuild/rpmbuild/BUILD/kmymoney-5.1+20240824+git.2161a0cd/kmymoney/views/kmymoneyview.cpp:221
#9  0x00006ffffa1c257b in QtPrivate::QSlotObjectBase::call (a=0x7ffffe2fbf20, r=0x7ff2a5ec79b0, this=0x7ff2a611dd60) at ../../include/QtCore/../../../qtbase-everywhere-src-5.15.14+kde140/src/corelib/kernel/qobjectdefs_impl.h:398
#10 doActivate<false> (sender=0x7ff2a611dd30, signal_index=4, argv=0x7ffffe2fbf20) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/corelib/kernel/qobject.cpp:3925
#11 0x00006ffffa10888c in QMetaObject::activate (sender=sender@entry=0x7ff2a611dd30, m=m@entry=0x6ffff478e020 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffffe2fbf20) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/corelib/kernel/qobject.cpp:3985
#12 0x00006ffff43b41eb in QAction::triggered (_t1=<optimized out>, this=0x7ff2a611dd30) at .moc/release/moc_qaction.cpp:376
#13 QAction::activate (this=0x7ff2a611dd30, event=<optimized out>) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/kernel/qaction.cpp:1161
#14 0x00006ffff44a17c5 in QAbstractButtonPrivate::click (this=0x7ff2a580e390) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/widgets/qabstractbutton.cpp:399
#15 0x00006ffff44a18f5 in QAbstractButton::mouseReleaseEvent (this=0x7ff2a59ab970, e=0x7ffffe2fc590) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/widgets/qabstractbutton.cpp:1045
#16 0x00006ffff45897de in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/widgets/qtoolbutton.cpp:622
#17 0x00006ffff43f7a30 in QWidget::event (this=0x7ff2a59ab970, event=0x7ffffe2fc590) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/kernel/qwidget.cpp:9045
#18 0x00006ffff43b7dae in QApplicationPrivate::notify_helper (this=this@entry=0x7ffffea1ebe0, receiver=receiver@entry=0x7ff2a59ab970, e=e@entry=0x7ffffe2fc590) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/kernel/qapplication.cpp:3640
#19 0x00006ffff43c00ba in QApplication::notify (this=<optimized out>, receiver=0x7ff2a59ab970, e=0x7ffffe2fc590) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/kernel/qapplication.cpp:3084
#20 0x00006ffffa0d7128 in QCoreApplication::notifyInternal2 (event=0x7ffffe2fc590, receiver=0x7ff2a59ab970) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/corelib/kernel/qcoreapplication.cpp:1064
#21 QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x7ff2a59ab970, event=event@entry=0x7ffffe2fc590) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/corelib/kernel/qcoreapplication.cpp:1474
#22 0x00006ffff43be00d in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x7ff2a59ab970, event=event@entry=0x7ffffe2fc590, alienWidget=<optimized out>, alienWidget@entry=0x7ff2a59ab970, nativeWidget=0x7fffff94dd60, buttonDown=buttonDown@entry=0x6ffff48d2280 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true,
    onlyDispatchEnterLeave=onlyDispatchEnterLeave@entry=false) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/kernel/qapplication.cpp:2622
#23 0x00006ffff440dcfb in QWidgetWindow::handleMouseEvent (this=this@entry=0x7ff2a5ec7cb0, event=event@entry=0x7ffffe2fc8f0) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/kernel/qwidgetwindow.cpp:684
#24 0x00006ffff4410f17 in QWidgetWindow::event (this=0x7ff2a5ec7cb0, event=0x7ffffe2fc8f0) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/kernel/qwidgetwindow.cpp:300
#25 0x00006ffff43b7dae in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7ff2a5ec7cb0, e=0x7ffffe2fc8f0) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/widgets/kernel/qapplication.cpp:3640
#26 0x00006ffffa0d7128 in QCoreApplication::notifyInternal2 (event=0x7ffffe2fc8f0, receiver=0x7ff2a5ec7cb0) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/corelib/kernel/qcoreapplication.cpp:1064
#27 QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x7ff2a5ec7cb0, event=event@entry=0x7ffffe2fc8f0) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/corelib/kernel/qcoreapplication.cpp:1474
#28 0x00006ffff715bfc4 in QGuiApplicationPrivate::processMouseEvent (e=0x7ff2a578c3f0) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/gui/kernel/qguiapplication.cpp:2285
#29 0x00006ffff713550c in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/gui/kernel/qwindowsysteminterface.cpp:1169
#30 0x00006ffffa132728 in QEventDispatcherWin32::processEvents (this=<optimized out>, this@entry=0x7ffffea35b10, flags=...) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/corelib/kernel/qeventdispatcher_win.cpp:514
#31 0x00006fffeee2b295 in QWindowsGuiEventDispatcher::processEvents (this=0x7ffffea35b10, flags=...) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/platformsupport/eventdispatchers/qwindowsguieventdispatcher.cpp:73
#32 0x00006ffffa0d5464 in QEventLoop::processEvents (flags=..., this=0x7ffffe2ffcf0) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/corelib/kernel/qeventloop.cpp:142
#33 QEventLoop::exec (this=this@entry=0x7ffffe2ffcf0, flags=..., flags@entry=...) at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/corelib/kernel/qeventloop.cpp:235
#34 0x00006ffffa0ddf65 in QCoreApplication::exec () at ../../include/QtCore/../../../qtbase-everywhere-src-5.15.14+kde140/src/corelib/global/qflags.h:121
#35 0x00006ffff71500df in QGuiApplication::exec () at /home/abuild/rpmbuild/BUILD/qtbase-everywhere-src-5.15.14+kde140/src/gui/kernel/qguiapplication.cpp:1870

ADDITIONAL INFORMATION

In frame #2 there is

   295         pMenus[Menu::MarkTransaction]->setEnabled(false);

which indicates that pMenus[Menu::MarkTransaction] is zero in this case.
Comment 2 Ralf Habacker 2024-08-28 21:14:24 UTC
(In reply to Ralf Habacker from comment #1)
> I was able to reproduce it with the win64 variant of the KMyMoney 5.1
> (stable snapshot) from https://kmymoney.org/snapshots.php  

This is not an issue with a build from the git master branch. I tested kmymoney5-mingw64-5.1.80+QT515+KF5103+20240827+git.ed5adb3