Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
5.15.2, 6.3.0
-
None
-
Fedora 36 KDE 5.25.4 Wayland and Ubuntu 22.04 LTS Gnome 42 Wayland
-
-
3c49641f0 (dev), e3d44cc78 (6.8)
Description
When running Qt applications under Wayland, the QGuiApplication::setOverrideCursor and QGuiApplication::changeOverrideCursor have no effect when the input device is a tablet (e.g. a Wacom tablet). In fact, a Qt application running under Wayland is unable to change the default cursor altogether. For example, when hovering a the edge of a Window, Linux DEs display a "Resize" icon, but this doesn't happen when using a tablet with Wayland.
I've tested this under two different environments: KDE Plasma 5.25.4 Fedora 36 and Gnome 42 on Ubuntu 22.04 LTS. On both DEs, when a tablet input device is used the cursor of the application is unchangeable (I've tested with a simple timer that periodically changes the application cursor using the APIs provided by QGuiApplication). GTK applications (e.g. Firefox) in the same environment were unaffected by this bug.
It seems that all KDE applications running under Wayland (e.g. Dolphin) are affected by this bug (see https://bugs.kde.org/show_bug.cgi?id=426585).
On X11, things behave as one would expect and cursor changing is no problem.
After briefly debugging, I can see that when QWaylandInputDevice::Pointer::updateCursor() is called, the value of mEnterSerial is always zero when using a tablet.
Attachments
Issue Links
- relates to
-
QTBUG-75919 Override cursor has no precedence on Wayland
- Closed
-
QTBUG-123776 Missing tablet cursor. Set tablet cursor on Wayland with zwp_tablet_tool.set_cursor
- Closed
For Gerrit Dashboard: QTBUG-105843 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
569779,19 | QWaylandTablet: Implement cursor | dev | qt/qtwayland | Status: MERGED | +2 | 0 |
591284,2 | QWaylandTablet: Implement cursor | 6.8 | qt/qtwayland | Status: MERGED | +2 | 0 |