Bug 437005 - KDE Settings crashed in KHotKeys::ShortcutTrigger::shortcut() when attempting to create a new shortcut
Summary: KDE Settings crashed in KHotKeys::ShortcutTrigger::shortcut() when attempting...
Status: RESOLVED UNMAINTAINED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_khotkeys (other bugs)
Version First Reported In: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Michael Jansen
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-05-13 01:04 UTC by John Apple II
Modified: 2024-03-04 19:41 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Apple II 2021-05-13 01:04:07 UTC
Application: systemsettings5 (5.21.5)

Qt Version: 5.15.2
Frameworks Version: 5.81.0
Operating System: Linux 5.11.18-300.fc34.x86_64 x86_64
Windowing System: X11
Drkonqi Version: 5.21.5
Distribution: "Fedora release 34 (Thirty Four)"

-- Information about the crash:
- I had removed a custom shortcut group
- I created a new custom shortcut (not in a group)
- I entered a comment
- I selected a shortcut (PrintScn in this case) 
- I opened the tab to add the command to call, and when I selected the browse option, the program crashed.

The crash does not seem to be reproducible.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f065857717a in QKeySequence::QKeySequence(QKeySequence const&) () from /lib64/libQt5Gui.so.5
#5  0x00007f05fef6fdd9 in KHotKeys::ShortcutTrigger::shortcut() const () from /lib64/libkhotkeysprivate.so.5
#6  0x00007f05fef700b9 in KHotKeys::ShortcutTrigger::primaryShortcut() const () from /lib64/libkhotkeysprivate.so.5
#7  0x00007f05fefdfbbb in ShortcutTriggerWidget::isChanged() const () from /usr/lib64/qt5/plugins/kcm_hotkeys.so
#8  0x00007f05fefe7e9b in HotkeysWidgetIFace::slotChanged(QString const&) () from /usr/lib64/qt5/plugins/kcm_hotkeys.so
#9  0x00007f06580554fd in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#10 0x00007f06580560b9 in QSignalMapper::mapped(QString const&) () from /lib64/libQt5Core.so.5
#11 0x00007f065805783e in QSignalMapperPrivate::emitMappedValues(QObject*) () from /lib64/libQt5Core.so.5
#12 0x00007f06580554fd in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#13 0x00007f065975e746 in KKeySequenceWidget::keySequenceChanged(QKeySequence const&) () from /lib64/libKF5XmlGui.so.5
#14 0x00007f06580554b0 in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#15 0x00007f0656e36528 in KGlobalAccel::globalShortcutChanged(QAction*, QKeySequence const&) () from /lib64/libKF5GlobalAccel.so.5
#16 0x00007f0656e3e45a in KGlobalAccelPrivate::updateGlobalShortcut(QAction*, QFlags<KGlobalAccelPrivate::ShortcutType>, KGlobalAccel::GlobalShortcutLoading) () from /lib64/libKF5GlobalAccel.so.5
#17 0x00007f0656e3e7a0 in KGlobalAccel::setShortcut(QAction*, QList<QKeySequence> const&, KGlobalAccel::GlobalShortcutLoading) () from /lib64/libKF5GlobalAccel.so.5
#18 0x00007f05fef72d32 in KHotKeys::ShortcutTrigger::activate(bool) () from /lib64/libkhotkeysprivate.so.5
#19 0x00007f05fef6d460 in non-virtual thunk to KHotKeys::ShortcutTrigger::enable() () from /lib64/libkhotkeysprivate.so.5
#20 0x00007f05fef65b8c in KHotKeys::SimpleActionData::doEnable() () from /lib64/libkhotkeysprivate.so.5
#21 0x00007f05fefd8e0f in HotkeysTreeViewContextMenu::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.0] () from /usr/lib64/qt5/plugins/kcm_hotkeys.so
#22 0x00007f06580554fd in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#23 0x00007f0658056002 in QSignalMapper::mapped(int) () from /lib64/libQt5Core.so.5
#24 0x00007f0658057804 in QSignalMapperPrivate::emitMappedValues(QObject*) () from /lib64/libQt5Core.so.5
#25 0x00007f06580554fd in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#26 0x00007f0658ba9686 in QAction::triggered(bool) () from /lib64/libQt5Widgets.so.5
#27 0x00007f0658babf70 in QAction::activate(QAction::ActionEvent) () from /lib64/libQt5Widgets.so.5
#28 0x00007f0658d29fea in QMenuPrivate::activateCausedStack(QVector<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) () from /lib64/libQt5Widgets.so.5
#29 0x00007f0658d31612 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) () from /lib64/libQt5Widgets.so.5
#30 0x00007f0658bf085e in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#31 0x00007f0658bafe73 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#32 0x00007f0658bb75ad in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#33 0x00007f0658024f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#34 0x00007f0658bb5e6a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib64/libQt5Widgets.so.5
#35 0x00007f0658c093a0 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#36 0x00007f0658c0c1fe in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#37 0x00007f0658bafe73 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#38 0x00007f0658024f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#39 0x00007f065855ca08 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib64/libQt5Gui.so.5
#40 0x00007f065853e4fc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#41 0x00007f0645cc04ce in xcbSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#42 0x00007f0655de54cf in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#43 0x00007f0655e394e8 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#44 0x00007f0655de2c03 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#45 0x00007f06580716f8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#46 0x00007f06580239b2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#47 0x00007f0658d2f035 in QMenuPrivate::exec(QPoint const&, QAction*, std::function<QPoint (QSize const&)>) () from /lib64/libQt5Widgets.so.5
#48 0x00007f0658d2f1a3 in QMenu::exec(QPoint const&, QAction*) () from /lib64/libQt5Widgets.so.5
#49 0x00007f0658d40dca in QPushButtonPrivate::_q_popupPressed() () from /lib64/libQt5Widgets.so.5
#50 0x00007f06580554fd in void doActivate<false>(QObject*, int, void**) () from /lib64/libQt5Core.so.5
#51 0x00007f0658c9f3c8 in QAbstractButtonPrivate::emitPressed() () from /lib64/libQt5Widgets.so.5
#52 0x00007f0658c9f6f5 in QAbstractButton::mousePressEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#53 0x00007f0658bf085e in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#54 0x00007f0658bafe73 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#55 0x00007f0658bb75ad in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#56 0x00007f0658024f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#57 0x00007f0658bb5e6a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib64/libQt5Widgets.so.5
#58 0x00007f0658c08e05 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /lib64/libQt5Widgets.so.5
#59 0x00007f0658c0c1fe in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#60 0x00007f0658bafe73 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#61 0x00007f0658024f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#62 0x00007f065855ca08 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib64/libQt5Gui.so.5
#63 0x00007f065853e4fc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#64 0x00007f0645cc04ce in xcbSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#65 0x00007f0655de54cf in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#66 0x00007f0655e394e8 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#67 0x00007f0655de2c03 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#68 0x00007f06580716f8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#69 0x00007f06580239b2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#70 0x00007f065802b544 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#71 0x00005620f3b6bd4c in main ()
[Inferior 1 (process 81131) detached]

Reported using DrKonqi
Comment 1 Nate Graham 2024-03-04 19:41:48 UTC
As announced in https://pointieststick.com/2023/07/26/what-we-plan-to-remove-in-plasma-6/ and https://community.kde.org/Plasma/Plasma_6#Removals, I'm afraid KHotKeys has reached end-of-life in Plasma 6. Accordingly, all bug reports and feature requests for it must be closed now.

Most of what KHotKeys could do can already be done with the newer KGlobalAccel system in Plasma 6. A few features such as mouse gestures and triggering conditions based on changes to window states are not yet implemented in the new system. These will be added in the future if and when resources materialize for them, and/or when a kind soul submits patches to implement them! :) Meanwhile, the 3rd-party "Mouse Actions" app (https://github.com/jersou/mouse-actions) may be usable for implementing your own mouse gestures again.

Thanks for your understanding, everyone.