Bug 477616 - Horizontal Scrolling on Digital Clock breaks SwipeView
Summary: Horizontal Scrolling on Digital Clock breaks SwipeView
Status: RESOLVED UPSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: Digital Clock widget (show other bugs)
Version: 5.27.80
Platform: Other Linux
: NOR normal
Target Milestone: 1.0
Assignee: ratijas
URL:
Keywords: qt6, regression, wayland-only
Depends on:
Blocks:
 
Reported: 2023-11-27 14:36 UTC by Kal Sandbrook
Modified: 2024-07-15 16:35 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.2.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kal Sandbrook 2023-11-27 14:36:31 UTC
SUMMARY

Opening the digital clock applet and horizontally scrolling between Days, Months & Years causes the navigation tabs to no longer function. Navigation starts working again if you left click on an item.

STEPS TO REPRODUCE
1. Open digital clock applet
2. Horizontally scroll between tabs (so you are sort of "in-between" sections)
3. Click on one of the navigation tabs

OBSERVED RESULT

Navigation tabs do not work

EXPECTED RESULT

Navigation tabs take you to the appropriate section

SOFTWARE/OS VERSIONS
Arch Linux
KDE Plasma Version: 5.27.80
KDE Frameworks Version: 5.245.0
Qt Version: 6.6.0
Comment 1 Nate Graham 2023-11-28 20:39:40 UTC
Can reproduce.
Comment 2 Fushan Wen 2023-11-29 15:19:36 UTC
Cannot reproduce. Are you using Wayland?
Comment 3 Nate Graham 2023-11-29 15:22:16 UTC
Always. :)
Comment 4 ratijas 2024-04-15 17:26:00 UTC
Possibly directly related to BUG 437385 since it turns out QtQuick doesn't handle ListView inside another ListView very well
Comment 5 ratijas 2024-06-03 17:38:14 UTC
From what I gather:

- Tabs are not broken, they function normally and set swipeview's current index appropriately.
- On Wayland, horizontal scrolling makes the view stuck wherever when you lift off your fingers from a touchpad — without snapping because it still "thinks" it is being flicked. Since it never snaps or releases from the gesture, it can not react to currentIndex changes caused by the Tabs.
- X11 is not affected.
- I can reproduce using a minimal self-contained example using only QtQuick module import, so this is an upstream bug.
- Fortunately, cross-blocking interactive-ness of the top level and nested views whenever the other axis is being moved seems to solve the issue (possibly due to event handling being disabled for a non-interactive ListView).

Upsteam bug report: https://bugreports.qt.io/browse/QTBUG-126042

SOFTWARE/OS VERSIONS
Arch Linux
Qt Version: 6.7.1-4
KDE/Plasma: git master
Comment 6 Bug Janitor Service 2024-06-03 18:10:09 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4402
Comment 7 ratijas 2024-06-07 01:20:40 UTC
Git commit 4937e104d9d1796242904106ab7fd814cfa6744b by ivan tkachenko.
Committed on 06/06/2024 at 16:11.
Pushed by ratijas into branch 'master'.

components/calendar: Cross-block interactiveness of nested orthogonal ListView

Scrolling in both directions at once does not make sense from the UX
perspective, so let's disable that.

As a workaround for the upstream QTBUG-126042, this patch fixes stuck
horizontal scrolling using touchpad on Wayland.

M  +20   -0    components/calendar/qml/MonthView.qml

https://invent.kde.org/plasma/plasma-workspace/-/commit/4937e104d9d1796242904106ab7fd814cfa6744b
Comment 8 ratijas 2024-07-15 16:35:02 UTC
Good news is that the upstream fix has been merged as well, and will be released in Qt 6.7.3 quite soon.