Summary: | (Regression.) GlobalDrawer{} Z-order drawn on top of descendant elements, like Controls.Menu{} and Kirigami Tooltips. | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kirigami | Reporter: | Will Chen <inbox> |
Component: | general | Assignee: | kdelibs bugs <kdelibs-bugs-null> |
Status: | REPORTED --- | ||
Severity: | normal | CC: | nate, notmart |
Priority: | NOR | ||
Version First Reported In: | 5.102.0 | ||
Target Milestone: | Not decided | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Tooltips are also covered. |
Description
Will Chen
2023-02-02 03:50:23 UTC
Created attachment 155871 [details]
Tooltips are also covered.
This also happens to tooltips, as can be seen in Kirigami Gallery 22.12.1 when the GlobalDrawer is set to "Collapsible Sidebar Drawer" and you mouse over the "Close Sidebar" button at the bottom. (See attached screenshot.)
Manually setting the Z-Order can fix it as a temporary workaround: ```QML _testMenu.z = _globalDrawer.z + 1 ``` At the point where it breaks, the ancestry tree of the button and the GlobalMenu{} itself changes: ```QML let ancestry = [] let p = parent while (p) { console.log(p) ancestry.push(p) p = p.parent } console.log(ancestry.map(x => x.toString())) ``` Working: ```Console qml: StableCollapsibleIconButton_QMLTYPE_116(0x55b9ea241dd0) qml: TabDelegateBase_QMLTYPE_119(0x55b9e8c99e30) qml: QQuickItem(0x55b9e5b37300) qml: QQuickListView(0x55b9e5b40ce0) qml: QQuickColumnLayout_QML_151(0x55b9e5b8b450) qml: QQuickColumnLayout(0x55b9e5a352d0) qml: QQuickItem(0x55b9e6461f50) qml: QQuickFlickable(0x55b9e5be8290) qml: ScrollView_QMLTYPE_95(0x55b9e5cbca10) qml: QQuickPopupItem(0x55b9e58600c0) qml: QQuickRootItem(0x55b9e5913c50) qml: [StableCollapsibleIconButton_QMLTYPE_116(0x55b9ea241dd0),TabDelegateBase_QMLTYPE_119(0x55b9e8c99e30),QQuickItem(0x55b9e5b37300),QQuickListView(0x55b9e5b40ce0),QQuickColumnLayout_QML_151(0x55b9e5b8b450),QQuickColumnLayout(0x55b9e5a352d0),QQuickItem(0x55b9e6461f50),QQuickFlickable(0x55b9e5be8290),ScrollView_QMLTYPE_95(0x55b9e5cbca10),QQuickPopupItem(0x55b9e58600c0),QQuickRootItem(0x55b9e5913c50)] ``` Broken: ```Console qml: StableCollapsibleIconButton_QMLTYPE_116(0x55b9ea241dd0) qml: TabDelegateBase_QMLTYPE_119(0x55b9e8c99e30) qml: QQuickItem(0x55b9e5b37300) qml: QQuickListView(0x55b9e5b40ce0) qml: QQuickColumnLayout_QML_151(0x55b9e5b8b450) qml: QQuickColumnLayout(0x55b9e5a352d0) qml: QQuickItem(0x55b9e6461f50) qml: QQuickFlickable(0x55b9e5be8290) qml: ScrollView_QMLTYPE_95(0x55b9e5cbca10) qml: QQuickPopupItem(0x55b9e58600c0) qml: QQuickOverlay(0x55b9e59b2230) ←←← This is new. qml: QQuickRootItem(0x55b9e5913c50) qml: [StableCollapsibleIconButton_QMLTYPE_116(0x55b9ea241dd0),TabDelegateBase_QMLTYPE_119(0x55b9e8c99e30),QQuickItem(0x55b9e5b37300),QQuickListView(0x55b9e5b40ce0),QQuickColumnLayout_QML_151(0x55b9e5b8b450),QQuickColumnLayout(0x55b9e5a352d0),QQuickItem(0x55b9e6461f50),QQuickFlickable(0x55b9e5be8290),ScrollView_QMLTYPE_95(0x55b9e5cbca10),QQuickPopupItem(0x55b9e58600c0),QQuickOverlay(0x55b9e59b2230),QQuickRootItem(0x55b9e5913c50)] ``` I neglected to mention this in my original report. I believe this is a recent regression. It only started happening on my main machine when I updated in January, and it does not happen, for example, in NixPkgs `23.05pre436403.ba6ba2b9009` from December 20 2022, corresponding to Kirigami2 5.101.0. https://github.com/NixOS/nixpkgs/tree/ba6ba2b90096dc49f448aa4d4d783b5081b1cc87 ``` nix-repl> pkgs.libsForQt5.kirigami2.version "5.101.0" ``` Seems like there are quite a few places where `.z` gets imperatively or declaratively assigned an arbitrary-but-high value: https://invent.kde.org/search?search=z%3A&project_id=2506&group_id=1552&search_code=true&repository_ref=master https://invent.kde.org/search?search=z+%3D&project_id=2506&group_id=1552&search_code=true&repository_ref=master I guess the question then is why, and what changed that this didn't used to happen. IIRC Personally I have been working around this by simply unsetting `.z` in my GlobalDrawer instance, so it's not a showstopper— I guess that would still cause a single right click event to be missed, and have no effect, when the bug and hierarchy change is triggered, though. |