https://bugs.kde.org/show_bug.cgi?id=433540

            Bug ID: 433540
           Summary: Wayland cursor hiding via setting NULL cursor surface
                    is broken
           Product: kwin
           Version: 5.21.1
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: input
          Assignee: kwin-bugs-n...@kde.org
          Reporter: cameron.gut...@gmail.com
  Target Milestone: ---

Created attachment 136114
  --> https://bugs.kde.org/attachment.cgi?id=136114&action=edit
Test code

SUMMARY

Wayland-based applications which try to hide the mouse cursor by calling
wl_pointer_set_cursor() with a NULL surface do not result in the cursor being
hidden with KWin. This cursor hiding behavior is explicitly documented in the
Wayland protocol [0] and works properly on Mutter and Sway.

[0]:
https://github.com/wayland-project/wayland/blob/70f1c83fd9380bf40d904b2806c2af07e688e960/protocol/wayland.xml#L1886


STEPS TO REPRODUCE
1. Build the attached SDL2 sample code
   - On my Fedora and Krypton systems, the following works (assuming SDL2-devel
is installed):
     gcc -I/usr/include/SDL2 -lSDL2 -o mouse_hide mouse_hide.c
2. Run the test code in a Wayland Plasma session

OBSERVED RESULT
The cursor is not hidden when it is over the test app's window. The KDE default
cursor is displayed instead.


EXPECTED RESULT
The cursor should be hidden when it is over the test app's window.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: OpenSUSE Krypton
KDE Plasma Version: 5.21.80
KDE Frameworks Version: 5.80.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION

SDL bug report: https://github.com/libsdl-org/SDL/issues/3576

See attached WAYLAND_DEBUG=client log. Particularly the lines where the cursor
surface is set to NULL, such as what happens handling the wl_pointer enter
event:
[2845237.141] wl_pointer@15.enter(255, wl_surface@21, 3.000000, 321.000000)
[2845237.278]  -> wl_pointer@15.set_cursor(0, nil, 0, 0)

Let me know if there is anything else I can do to help. If you believe SDL's
behavior is somehow at fault here, I can work on patches to fix it.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to