Bug 385557 - Crash when hovering over an item while typing into search field
Summary: Crash when hovering over an item while typing into search field
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: general (show other bugs)
Version: 5.11.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-10 18:29 UTC by Thomas Mitterfellner
Modified: 2020-01-23 06:31 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Mitterfellner 2017-10-10 18:29:53 UTC
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
Comment 1 David Edmundson 2019-10-21 11:01:05 UTC
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
Comment 2 Nate Graham 2020-01-23 06:31:39 UTC
Fully fixed in Plasma 5.18.