On Sat, Aug 31, 2024 at 5:39 PM Tomaz Canabrava <tcanabr...@kde.org> wrote: > > Hello all, > > konsole started to crash a lot; daily for me. > i tried to find the culprit but it doesnt seem to be in konsole code - at > least theres no change in the code that it crashes for many years. > > i believe there is a change in kxmlgui actionCollection handling - but didnt > had the time to look for. > > i ask for help to identify and fix. there are a few things that made me think > the problem is the actionCollection(): > > - splits are registering the same shortcut for actions so when you hit, eg, > ctrl shift v, a message appears "more than one shortcut registered", but if > you try again, it might work. > (randomly disabling actions or the actions for a different pane)
IIRC this happens because the window has a full set of shortcuts and then each tab has a sessioncontroller and each SC has a full set of shortcuts as well. that means multiple shortcuts are registered in Qt's **global** table of shortcuts. what happens when you hit ctrl-shift-v is that depending on the focus situation Qt may find **both** the current SC and the window to have focus (albeit by different heuristics) and that they both supply overlapping shortcuts. kwidgetsaddons then gets angry and throws up the error dialog while also eating the activation event. that's as far as I got before calling it quits. it's probably a regression in the Qt heuristics because the shortcut magic seems to have changed quite a bit in 6.7, but at the same time having multiple overlapping actions/shortcuts is also quite meh on the konsole side of things even when technically only one set should be considered active at a time. qWidgetShortcutContextMatcher correctWidgetContext correctActionContext QShortcutMap should be relevant functions in qt HS