Bug 454705

Summary: Crash when pressing decline after changing custom global shortcut
Product: [Applications] systemsettings Reporter: iodreamify
Component: kcm_khotkeysAssignee: Michael Jansen <kde>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: gelamu, nate, plasma-bugs, tom.karpiniec
Priority: NOR    
Version: 5.24.5   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description iodreamify 2022-06-01 13:07:31 UTC
SUMMARY
I tried setting a new global shortcut but then decided to close the window in systemsettings and when i pressed decline  
it crashed. It is reproducible each time.

Backtrace: 
#0  __pthread_kill_implementation (threadid=<optimized out>, 
    signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007f6d6888e3d3 in __pthread_kill_internal (signo=11, 
    threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007f6d6883e838 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007f6d6a7d7840 in KCrash::defaultCrashHandler (sig=11)
    at /usr/src/debug/kcrash-5.94.0/src/kcrash.cpp:633
#4  <signal handler called>
#5  _q_uuidToHex (uuid=..., dst=0x7fff95b45681 "X\264\225\377\177", 
    dst@entry=0x7fff95b45680 "{X\264\225\377\177", 
    mode=mode@entry=QUuid::WithBraces) at plugin/quuid.cpp:90
#6  0x00007f6d6927d2fd in QUuid::toString (this=this@entry=0x20)
    at plugin/quuid.cpp:608
#7  0x00007f6d3658c4c8 in KHotKeys::ShortcutTrigger::shortcut (this=0x0)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/triggers/shortcut_trigger.cpp:166
#8  0x00007f6d3658c82a in KHotKeys::ShortcutTrigger::primaryShortcut (
    this=<optimized out>)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/triggers/shortcut_trigger.cpp:177
#9  0x00007f6d365f9a8d in ShortcutTriggerWidget::isChanged (this=0x7fff95b45768)
    at /usr/src/debug/khotkeys-5.24.5/kcm_hotkeys/triggers/shortcut_trigger_widget.cpp:65
#10 0x00007f6d366020bb in HotkeysWidgetIFace::slotChanged (this=0x56236534f0e0)
--Type <RET> for more, q to quit, c to continue without paging--
   t /usr/src/debug/khotkeys-5.24.5/kcm_hotkeys/hotkeys_widget_iface.cpp:41
#11 0x00007f6d692be7c8 in doActivate<false> (sender=0x562365d46170, 
    signal_index=4, argv=0x7fff95b458b0) at kernel/qobject.cpp:3898
#12 0x00007f6d692bef7a in QSignalMapper::mapped (
    this=this@entry=0x562365d46170, _t1=...) at .moc/moc_qsignalmapper.cpp:231
#13 0x00007f6d692bf160 in QSignalMapperPrivate::emitMappedValue<void (QSignalMapper::*)(QString const&), QHash<QObject*, QString> > (this=0x562365cb34a0, 
    mappedValues=..., 
    signal=(void (QSignalMapper::*)(QSignalMapper * const, const QString &)) 0x7f6d692beda0 <QSignalMapper::mappedString(QString const&)>, sender=0x5623652c96f0)
    at kernel/qsignalmapper.cpp:67
#14 QSignalMapperPrivate::emitMappedValues (sender=0x5623652c96f0, 
    this=0x562365cb34a0) at kernel/qsignalmapper.cpp:77
#15 QSignalMapper::map (this=<optimized out>, sender=0x5623652c96f0)
    at kernel/qsignalmapper.cpp:288
#16 0x00007f6d692be7c8 in doActivate<false> (sender=0x5623652c96f0, 
    signal_index=7, argv=0x7fff95b459d0) at kernel/qobject.cpp:3898
#17 0x00007f6d6a8cbd47 in KKeySequenceWidget::keySequenceChanged (
    this=<optimized out>, _t1=...)
    at /usr/src/debug/build/src/KF5XmlGui_autogen/include/moc_kkeysequencewidget.cpp:253
#18 0x00007f6d692be791 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, 
--Type <RET> for more, q to quit, c to continue without paging--
    r=<optimized out>, this=<optimized out>, this=<optimized out>, 
    r=<optimized out>, a=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#19 doActivate<false> (
    sender=0x7f6d695880b0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>, signal_index=3, argv=0x7fff95b45ad0) at kernel/qobject.cpp:3886
#20 0x00007f6d69572d89 in KGlobalAccel::globalShortcutChanged (
    this=<optimized out>, _t1=<optimized out>, _t1@entry=0x5623667d7820, 
    _t2=...)
    at /usr/src/debug/build/src/KF5GlobalAccel_autogen/include/moc_kglobalaccel.cpp:148
#21 0x00007f6d6957bae4 in KGlobalAccelPrivate::updateGlobalShortcut (
    this=<optimized out>, action=<optimized out>, action@entry=0x5623667d7820, 
    actionFlags=actionFlags@entry=..., 
    globalFlags=globalFlags@entry=KGlobalAccel::Autoloading)
    at /usr/src/debug/kglobalaccel-5.94.0/src/kglobalaccel.cpp:364
#22 0x00007f6d6957be01 in KGlobalAccel::setShortcut (
    this=this@entry=0x7f6d695880b0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>, action=<optimized out>, action@entry=0x5623667d7820, 
    shortcut=..., loadFlag=loadFlag@entry=KGlobalAccel::Autoloading)
    at /usr/include/qt/QtCore/qflags.h:121
#23 0x00007f6d3658f5de in KHotKeys::ShortcutsHandler::addAction (shortcut=..., 
--Type <RET> for more, q to quit, c to continue without paging--
    text=..., id=..., this=0x5623668ef8e0)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/shortcuts_handler.cpp:69
#24 KHotKeys::ShortcutTrigger::activate (this=0x5623668bb5b0, 
    newState=<optimized out>)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/triggers/shortcut_trigger.cpp:70
#25 0x00007f6d36589ba0 in non-virtual thunk to KHotKeys::ShortcutTrigger::enable() ()
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/triggers/shortcut_trigger.cpp:149
#26 0x00007f6d3658203c in KHotKeys::SimpleActionData::doEnable (
    this=0x5623668bb410)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/action_data/simple_action_data.cpp:36
#27 0x00007f6d36598bf1 in SettingsReaderV2::readActionData (
    this=this@entry=0x7fff95b45fe0, config=..., 
    parent=parent@entry=0x562364cb7d90)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/settings_reader_v2.cpp:169
#28 0x00007f6d365979db in SettingsReaderV2::readGroup (parent=<optimized out>, 
    config=..., this=0x7fff95b45fe0)
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/settings_reader_v2.cpp:98
#29 SettingsReaderV2::readActionData (this=0x7fff95b45fe0, config=..., 
    parent=<optimized out>)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/settings_reader_v2.cpp:130
#30 0x00007f6d365914b2 in SettingsReaderV2::read (parent=0x5623660d06a0, 
    config=..., this=0x7fff95b45fe0)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/settings_reader_v2.cpp:49
#31 KHotKeys::Settings::read_settings (stateStrategy=<optimized out>, 
    include_disabled=168, config=..., root=0x5623660d06a0, this=0x7fff95b45fa0)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/settings.cpp:405
#32 KHotKeys::Settings::read_settings (this=this@entry=0x7f6d540087d0, 
    root=0x5623660d06a0, config=..., 
    include_disabled=include_disabled@entry=true, 
    stateStrategy=stateStrategy@entry=KHotKeys::Retain)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/settings.cpp:392
#33 0x00007f6d36593317 in KHotKeys::Settings::reread_settings (
    this=this@entry=0x7f6d540087d0, 
    include_disabled=include_disabled@entry=true)
    at /usr/src/debug/khotkeys-5.24.5/libkhotkeysprivate/settings.cpp:386
--Type <RET> for more, q to quit, c to continue without paging--c
#34 0x00007f6d365eba5d in KHotkeysModel::load (this=0x7f6d540087c0) at /usr/src/debug/khotkeys-5.24.5/kcm_hotkeys/hotkeys_model.cpp:383
#35 KCMHotkeysPrivate::load (this=0x56236552f7b0) at /usr/src/debug/khotkeys-5.24.5/kcm_hotkeys/kcm_hotkeys.cpp:238
#36 KCMHotkeys::load (this=<optimized out>) at /usr/src/debug/khotkeys-5.24.5/kcm_hotkeys/kcm_hotkeys.cpp:175
#37 0x00007f6d69ccb086 in KCModuleProxy::load (this=this@entry=0x562364cb9810) at /usr/src/debug/kcmutils-5.94.0/src/kcmoduleproxy.cpp:272
#38 0x00007f6d6a954fe9 in ModuleView::resolveChanges (currentProxy=0x562364cb9810, this=0x562364c9fbd0) at /usr/src/debug/systemsettings-5.24.5/core/ModuleView.cpp:328
#39 ModuleView::resolveChanges (this=0x562364c9fbd0, currentProxy=0x562364cb9810) at /usr/src/debug/systemsettings-5.24.5/core/ModuleView.cpp:309
#40 0x00007f6d6a9550df in ModuleView::resolveChanges (this=<optimized out>) at /usr/src/debug/systemsettings-5.24.5/core/ModuleView.cpp:306
#41 0x00007f6d603178cd in SidebarMode::loadModule (this=0x562364fe85e0, activeModule=..., args=...) at /usr/src/debug/systemsettings-5.24.5/sidebar/SidebarMode.cpp:476
#42 0x00007f6d6031b0a4 in SidebarMode::loadModule (args=..., activeModule=..., this=0x562364fe85e0) at /usr/include/qt/QtCore/qabstractitemmodel.h:76
#43 SidebarMode::qt_static_metacall (_o=0x562364fe85e0, _c=<optimized out>, _id=<optimized out>, _a=0x7fff95b46620) at /usr/src/debug/build/sidebar/systemsettings_sidebar_mode_autogen/EWIEGA46WW/moc_SidebarMode.cpp:525
#44 0x00007f6d6031bc93 in SidebarMode::qt_metacall (this=0x562364fe85e0, _c=QMetaObject::InvokeMetaMethod, _id=20, _a=0x7fff95b46620) at /usr/src/debug/build/sidebar/systemsettings_sidebar_mode_autogen/EWIEGA46WW/moc_SidebarMode.cpp:661
#45 0x00007f6d67c76634 in QQmlObjectOrGadget::metacall (this=0x7fff95b468c0, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:51
#46 0x00007f6d67b7a89c in CallMethod (callType=<optimized out>, callArgs=0x7fff95b46570, engine=<optimized out>, argTypes=<optimized out>, argCount=<optimized out>, returnType=<optimized out>, index=<optimized out>, object=...) at /usr/include/qt/QtCore/qvarlengtharray.h:189
#47 CallPrecise (object=..., data=..., engine=engine@entry=0x562364d12e10, callArgs=callArgs@entry=0x7f6d4c9c05b0, callType=callType@entry=QMetaObject::InvokeMetaMethod) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1568
#48 0x00007f6d67b7be9d in CallOverloaded (callType=QMetaObject::InvokeMetaMethod, propertyCache=0x562365261c20, callArgs=0x7f6d4c9c05b0, engine=0x562364d12e10, data=..., object=...) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1644
#49 QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2132
#50 0x00007f6d67b8df63 in QV4::Moth::VME::interpret (frame=0x7fff95b46cd0, engine=0x562364d12e10, code=0x7f6d4c9c0538 "\200dbLm\177") at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:757
#51 0x00007f6d67b97d64 in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:466
#52 0x00007f6d67b3b7a6 in QV4::Function::call (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>, context=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4function.cpp:69
#53 0x00007f6d67c8fb0d in QQmlJavaScriptExpression::evaluate (this=0x56236584b3a0, callData=0x7f6d4c9c04d0, isUndefined=0x0) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:212
#54 0x00007f6d67c52de1 in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=<optimized out>) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:224
#55 0x00007f6d67c53d5c in QQmlBoundSignal_callback (a=0x0, e=0x56236584b350) at ../../include/QtQml/5.15.4/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#56 QQmlBoundSignal_callback (e=0x56236584b350, a=0x0) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:341
#57 0x00007f6d67c7656f in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104
#58 0x00007f6d692be2bd in doActivate<false> (sender=0x562365840080, signal_index=64, argv=0x0) at kernel/qobject.cpp:3778
#59 0x00007f6d627c8a5a in QQuickAbstractButtonPrivate::handleRelease (this=0x562365840140, point=...) at /usr/src/debug/qtquickcontrols2/src/quicktemplates2/qquickabstractbutton.cpp:182
#60 0x00007f6d627e3ab9 in QQuickControl::mouseReleaseEvent (this=<optimized out>, event=0x7fff95b48c80) at /usr/src/debug/qtquickcontrols2/src/quicktemplates2/qquickcontrol.cpp:2151
#61 0x00007f6d6823c1c9 in QQuickItem::event (this=0x562365840080, ev=0x7fff95b48c80) at /usr/src/debug/qtdeclarative/src/quick/items/qquickitem.cpp:8221
#62 0x00007f6d69f78a7c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x562365840080, e=0x7fff95b48c80) at kernel/qapplication.cpp:3637
#63 0x00007f6d6928dff8 in QCoreApplication::notifyInternal2 (receiver=0x562365840080, event=0x7fff95b48c80) at kernel/qcoreapplication.cpp:1064
#64 0x00007f6d6824cd93 in QQuickWindowPrivate::deliverMouseEvent (this=this@entry=0x562364d52d00, pointerEvent=0x5623668b8940) at /usr/src/debug/qtdeclarative/src/quick/items/qquickwindow.cpp:2019
#65 0x00007f6d6824d7f2 in QQuickWindowPrivate::deliverPointerEvent (this=0x562364d52d00, event=0x5623668b8940) at /usr/src/debug/qtdeclarative/src/quick/items/qquickwindow.cpp:2611
#66 0x00007f6d69755c95 in QWindow::event (this=0x562364d2a870, ev=<optimized out>) at kernel/qwindow.cpp:2438
#67 0x00007f6d69f78a7c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x562364d2a870, e=0x7fff95b48c80) at kernel/qapplication.cpp:3637
#68 0x00007f6d6928dff8 in QCoreApplication::notifyInternal2 (receiver=0x562364d2a870, event=0x7fff95b48c80) at kernel/qcoreapplication.cpp:1064
#69 0x00007f6d67e18cae in QQuickWidget::mouseReleaseEvent (this=<optimized out>, e=0x7fff95b491f0) at /usr/src/debug/qtdeclarative/src/quickwidgets/qquickwidget.cpp:1416
#70 0x00007f6d69faf677 in QWidget::event (this=0x562364cf2e80, event=0x7fff95b491f0) at kernel/qwidget.cpp:8659
#71 0x00007f6d69f78a7c in QApplicationPrivate::notify_helper (this=this@entry=0x56236499cc50, receiver=receiver@entry=0x562364cf2e80, e=e@entry=0x7fff95b491f0) at kernel/qapplication.cpp:3637
#72 0x00007f6d69f7e289 in QApplication::notify (this=<optimized out>, receiver=<optimized out>, e=0x7fff95b491f0) at kernel/qapplication.cpp:3081
#73 0x00007f6d6928dff8 in QCoreApplication::notifyInternal2 (receiver=0x562364cf2e80, event=0x7fff95b491f0) at kernel/qcoreapplication.cpp:1064
#74 0x00007f6d69f7c287 in QApplicationPrivate::sendMouseEvent (receiver=0x562364cf2e80, event=0x7fff95b491f0, alienWidget=<optimized out>, nativeWidget=0x562364bc78c0, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2619
#75 0x00007f6d69fcd345 in QWidgetWindow::handleMouseEvent (this=0x562364d3ce90, event=0x7fff95b49550) at kernel/qwidgetwindow.cpp:683
#76 0x00007f6d69fcf0ee in QWidgetWindow::event (this=0x562364d3ce90, event=0x7fff95b49550) at kernel/qwidgetwindow.cpp:300
#77 0x00007f6d69f78a7c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x562364d3ce90, e=0x7fff95b49550) at kernel/qapplication.cpp:3637
#78 0x00007f6d6928dff8 in QCoreApplication::notifyInternal2 (receiver=0x562364d3ce90, event=0x7fff95b49550) at kernel/qcoreapplication.cpp:1064
#79 0x00007f6d6973efdc in QGuiApplicationPrivate::processMouseEvent (e=0x562365ef11d0) at kernel/qguiapplication.cpp:2282
#80 0x00007f6d69728945 in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#81 0x00007f6d63530df0 in xcbSourceDispatch (source=<optimized out>) at /usr/src/debug/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105
#82 0x00007f6d67069c6b in g_main_dispatch (context=0x7f6d5c005010) at ../glib/glib/gmain.c:3417
#83 g_main_context_dispatch (context=0x7f6d5c005010) at ../glib/glib/gmain.c:4135
#84 0x00007f6d670c0001 in g_main_context_iterate.constprop.0 (context=context@entry=0x7f6d5c005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4211
#85 0x00007f6d67067392 in g_main_context_iteration (context=0x7f6d5c005010, may_block=1) at ../glib/glib/gmain.c:4276
#86 0x00007f6d692d87bc in QEventDispatcherGlib::processEvents (this=0x562364a66850, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#87 0x00007f6d6928679c in QEventLoop::exec (this=0x7fff95b498f0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#88 0x00007f6d692912a9 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#89 0x00007f6d69739fd2 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#90 0x00007f6d69f76e8a in QApplication::exec () at kernel/qapplication.cpp:2829
#91 0x0000562363e7ebe8 in main (argc=<optimized out>, argv=0x7fff95b49a20) at /usr/src/debug/systemsettings-5.24.5/app/main.cpp:183


STEPS TO REPRODUCE
1. Change global shortcut in Custom shortcuts 
2. Press close on window
3. Press decline

OBSERVED RESULT
Systemsettings crashes

EXPECTED RESULT
Systemsettings doesn't crash

Operating System: Arch Linux
KDE Plasma Version: 5.24.5
KDE Frameworks Version: 5.94.0
Qt Version: 5.15.4
Kernel Version: 5.18.1-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 4 × Intel® Core™ i3-2310M CPU @ 2.10GHz
Memory: 7,6 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 3000
Comment 1 Nicolas Fella 2023-04-29 10:58:22 UTC
*** Bug 469125 has been marked as a duplicate of this bug. ***
Comment 2 Thomas Karpiniec 2023-06-09 09:39:14 UTC
Created attachment 159560 [details]
New crash information added by DrKonqi

systemsettings (5.27.5) using Qt 5.15.9

I was editing an Input Action in KDE settings. I think I had changed it without applying my changes. I left this in the background while I went to firefox to do some research. Then I went to the main KDE menu, typed "input actions" to find the settings again. It prompted me if I wanted to save my existing settings - I think I said yes - then it crashed.

-- Backtrace (Reduced):
#4  _q_uuidToHex (uuid=..., dst=0x7ffc2164c2f1 "\204\237\352\223U", dst@entry=0x7ffc2164c2f0 "{\204\237\352\223U", mode=mode@entry=QUuid::WithBraces) at plugin/quuid.cpp:90
#5  0x00007f3b0e6e0fa9 in QUuid::toString (this=this@entry=0x20) at plugin/quuid.cpp:608
#6  0x00007f3aef07d9d3 in KHotKeys::ShortcutTrigger::shortcut (this=0x0) at /usr/src/debug/khotkeys-5.27.5/libkhotkeysprivate/triggers/shortcut_trigger.cpp:166
#7  0x00007f3aef07dd15 in KHotKeys::ShortcutTrigger::primaryShortcut (this=<optimized out>) at /usr/src/debug/khotkeys-5.27.5/libkhotkeysprivate/triggers/shortcut_trigger.cpp:177
#8  0x00007f3aef0eb095 in ShortcutTriggerWidget::isChanged (this=<optimized out>) at /usr/src/debug/khotkeys-5.27.5/kcm_hotkeys/triggers/shortcut_trigger_widget.cpp:65
Comment 3 Nate Graham 2024-03-04 19:42:13 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.