KXmlGUI vs. Wayland
For more or less all sub menu open I get
qt.qpa.wayland: setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x55d0b080d120) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x55d0b1bbcac0) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
For me this seems to be cause e.g. by the code in
KXMLGUIBuilder::createContainer
There one doesn't use the "proper" parent for the sub menus but walks upwards.
If one e.g. replaces the code by just using the parent and not the computed p parent widget, for me the issues vanish.
But given there is some larger comment above:
// Look up to see if we are inside a mainwindow. If yes, then
// use it as parent widget (to get kaction to plug itself into the
// mainwindow). Don't use a popupmenu as parent widget, otherwise
// the popup won't be hidden if it is used as a standalone menu as well.
// Note: menus with a parent of 0, coming from child clients, can be
// leaked if the child client is deleted without a proper removeClient call, though.
this seems to be not problem free.
@apol @davidedmundson @ngraham
Any ideas how to tackle this best?
For me using Wayland, some bad menu behavior (and relating crashs) is more or less the most obvious issue, beside the window activation problematics.