Otherwise we can crash if the model updates during load.
CCBUG: 390005
CCBUG: 385557
apol |
Plasma |
Otherwise we can crash if the model updates during load.
CCBUG: 390005
CCBUG: 385557
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
No Linters Available |
No Unit Test Coverage |
Buildable 17906 | |
Build 17924: arc lint + arc unit |
Thread 1 (Thread 0x7f17b0836400 (LWP 5535)):
[KCrash Handler]
#6 KService::d_func (this=0x0) at /home/david/projects/kde5/src/frameworks/kservice/src/services/kservice.h:587
#7 0x00007f17b677e3c3 in KService::comment (this=0x0) at /home/david/projects/kde5/src/frameworks/kservice/src/services/kservice.cpp:934
#8 0x00007f17ac416ea4 in ToolTipManager::generateToolTipLine (this=0x557503ee57e0, item=0x7ffcf4215e60, toolTip=0x557509919f10, iconSize=..., comment=true) at /home/david/projects/kde5/src/kde/workspace/systemsettings/sidebar/ToolTips/tooltipmanager.cpp:203
#9 0x00007f17ac416992 in ToolTipManager::createTipContent (this=0x557503ee57e0, item=...) at /home/david/projects/kde5/src/kde/workspace/systemsettings/sidebar/ToolTips/tooltipmanager.cpp:167
#10 0x00007f17ac4165ef in ToolTipManager::showToolTip (this=0x557503ee57e0, menuItem=...) at /home/david/projects/kde5/src/kde/workspace/systemsettings/sidebar/ToolTips/tooltipmanager.cpp:145
#11 0x00007f17ac41627a in ToolTipManager::prepareToolTip (this=0x557503ee57e0) at /home/david/projects/kde5/src/kde/workspace/systemsettings/sidebar/ToolTips/tooltipmanager.cpp:135
#12 0x00007f17ac41871b in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (ToolTipManager::*)()>::call(void (ToolTipManager::*)(), ToolTipManager*, void) (f=(void (ToolTipManager::*)(ToolTipManager * const)) 0x7f17ac4161e0 <ToolTipManager::prepareToolTip()>, o=0x557503ee57e0, arg=0x7ffcf42161f0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152
#13 0x00007f17ac418683 in QtPrivate::FunctionPointer<void (ToolTipManager::*)()>::call<QtPrivate::List<>, void>(void (ToolTipManager::*)(), ToolTipManager*, void) (f=(void (ToolTipManager::*)(ToolTipManager * const)) 0x7f17ac4161e0 <ToolTipManager::prepareToolTip()>, o=0x557503ee57e0, arg=0x7ffcf42161f0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185
#14 0x00007f17ac4185a6 in QtPrivate::QSlotObject<void (ToolTipManager::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void, bool*) (which=1, this_=0x557503ee5f70, r=0x557503ee57e0, a=0x7ffcf42161f0, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:414
#15 0x00007f17b545ab70 in QMetaObject::activate(QObject*, int, int, void) () from /usr/lib/libQt5Core.so.5
#16 0x00007f17b5467b78 in QTimer::timeout(QTimer::QPrivateSignal) () from /usr/lib/libQt5Core.so.5
#17 0x00007f17b545b3e5 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#18 0x00007f17b5e824f5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007f17b5e8be11 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007f17b542e9c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#21 0x00007f17b5485d9d in QTimerInfoList::activateTimers() () from /usr/lib/libQt5Core.so.5
#22 0x00007f17b5486632 in ?? () from /usr/lib/libQt5Core.so.5
#23 0x00007f17b2ee93fe in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#24 0x00007f17b2eeb211 in ?? () from /usr/lib/libglib-2.0.so.0
#25 0x00007f17b2eeb251 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#26 0x00007f17b5486a03 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#27 0x00007f17b542d4ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#28 0x00007f17b5435326 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#29 0x0000557502234fe3 in main (argc=1, argv=0x7ffcf4216ad8) at /home/david/projects/kde5/src/kde/workspace/systemsettings/app/main.cpp:71
[Inferior 1 (process 5535) detached]