The new Systemsettings dialog crashes when I do this: 1) Hover over "Workspace Theme" in the left column 2) Quickly type "cla" on the Keyboard Slowly typing c, l, a does not crash the program. Backtrace: #0 MenuItem::name (this=this@entry=0x0) at /usr/src/debug/systemsettings-5.11.0/core/MenuItem.cpp:108 #1 0x00007fc937ac2763 in ToolTipManager::generateToolTipLine (this=this@entry=0x21d0760, item=item@entry=0x7ffdb0da51c0, toolTip=toolTip@entry=0x2974360, iconSize=..., comment=comment@entry=true) at /usr/src/debug/systemsettings-5.11.0/sidebar/ToolTips/tooltipmanager.cpp:174 #2 0x00007fc937ac2d52 in ToolTipManager::createTipContent (this=this@entry=0x21d0760, item=...) at /usr/src/debug/systemsettings-5.11.0/sidebar/ToolTips/tooltipmanager.cpp:146 #3 0x00007fc937ac2ee0 in ToolTipManager::showToolTip (this=0x21d0760, menuItem=...) at /usr/src/debug/systemsettings-5.11.0/sidebar/ToolTips/tooltipmanager.cpp:129 #4 0x00007fc937ac2fe7 in ToolTipManager::prepareToolTip (this=<optimized out>) at /usr/src/debug/systemsettings-5.11.0/sidebar/ToolTips/tooltipmanager.cpp:120 #5 0x00007fc95c236883 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5.9.2 #6 0x00007fc95c243827 in QTimer::timeout(QTimer::QPrivateSignal) () from /usr/lib64/libQt5Core.so.5.9.2 #7 0x00007fc95c243b02 in QTimer::timerEvent(QTimerEvent*) () from /usr/lib64/libQt5Core.so.5.9.2 #8 0x00007fc95c2378f4 in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5.9.2 #9 0x00007fc95ddb5cbc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5.9.2 #10 0x00007fc95ddbca10 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5.9.2 #11 0x00007fc95c20cd25 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5.9.2 #12 0x00007fc95c25d44e in QTimerInfoList::activateTimers() () from /usr/lib64/libQt5Core.so.5.9.2 #13 0x00007fc95c25da91 in timerSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/libQt5Core.so.5.9.2 #14 0x00007fc955b4d134 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #15 0x00007fc955b4d388 in ?? () from /usr/lib64/libglib-2.0.so.0 #16 0x00007fc955b4d42c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #17 0x00007fc95c25ddbc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5.9.2 #18 0x00007fc95c20b01b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5.9.2 #19 0x00007fc95c2135e4 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5.9.2 #20 0x000000000040c238 in main (argc=1, argv=<optimized out>) at /usr/src/debug/systemsettings-5.11.0/app/main.cpp:62
Git commit de7f988c71b23880ec44d9e90a24f65d6f791b53 by David Edmundson. Committed on 21/10/2019 at 11:00. Pushed by davidedmundson into branch 'master'. Store stashed model index as QPersistentModelIndex Summary: Otherwise we can crash if the model updates during load. Related: bug 390005 Test Plan: Had a state where my manually saved session would crash systemsettings on load accessing a null kservice object from a menuItem With this patch that session no longer crashes Reviewers: #plasma, apol Reviewed By: apol Subscribers: apol, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D24785 M +1 -1 sidebar/ToolTips/tooltipmanager.cpp https://commits.kde.org/systemsettings/de7f988c71b23880ec44d9e90a24f65d6f791b53
Fully fixed in Plasma 5.18.