Summary: | "Click in track to scroll by one page at a time" feature doesn't work anymore | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-qqc2-desktop-style | Reporter: | Jure Repinc <jlp> |
Component: | general | Assignee: | kdelibs bugs <kdelibs-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ahiemstra, aleixpol, filip.kendes1, guido, kde, me, nate, noahadvs, notmart, postix |
Priority: | NOR | Keywords: | regression |
Version: | 6.3.0 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/frameworks/qqc2-desktop-style/-/commit/40b55f9a0fef21a02671efe7f87b95b3702dec13 | Version Fixed In: | 6.5 |
Sentry Crash Report: |
Description
Jure Repinc
2024-06-05 23:29:01 UTC
I can confirm this bug. It's reproducible on Discover. For example Dolphin and Okular work as expected. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.2.0 Qt Version: 6.7.1 Kernel Version: 6.9.2-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 4 × Intel® Core™ i5-6600K CPU @ 3.50GHz Memory: 7.7 GiB of RAM Graphics Processor: NVIDIA GeForce GTX 970/PCIe/SSE2 Can reproduce. Seems to affect all QtQuick scrollviews, which means it's a regression in our scrollbar handling code. This isn't particularly surprising, apparently we knew it long before Plasma 6.0 release: https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/214#note_608786 By the way, according to the BUG 384889 this feature never ever worked in PlasmaComponents. It seems like we need a better upstream API, not a super-duper custom bikeshedded behavior override downstream. Another brief investigation shows that the event handling never reaches our MouseArea background only because its default z-index is assigned to -1 by the QQuickControl::setBackground method which is stacked below the parent ScrollBar itself. If you set z-index for the background to some positive value, it will work as before. A possibly relevant merge request was started @ https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/421 Meanwhile, I also filed an upstream feature request for more QQC2.ScrollBar API: https://bugreports.qt.io/browse/QTBUG-127172 Git commit 40b55f9a0fef21a02671efe7f87b95b3702dec13 by ivan tkachenko. Committed on 23/07/2024 at 10:47. Pushed by ngraham into branch 'master'. ScrollBar: Fix custom scrolling behavior In order to add our custom mouse event handling behavior to the QQuickScrollBar, the only way in Qt 6 is to put the MouseArea in front of it, i.e. with a higher stacking z index, and only handle a subset of events which we are going to fully process ourselves, while rejecting the rest to let them propagate further down to the scroll bar itself. M +16 -4 org.kde.desktop/ScrollBar.qml https://invent.kde.org/frameworks/qqc2-desktop-style/-/commit/40b55f9a0fef21a02671efe7f87b95b3702dec13 *** Bug 491250 has been marked as a duplicate of this bug. *** |