GNOME Bugzilla – Bug 772966
[wayland] for nonexisting named cursor, gdk_cursor_new_from_name returns a blank cursor instead of NULL
Last modified: 2016-11-23 23:54:38 UTC
Aisleriot version: 3.22.0+5+gb3024a2-1 OS: Arch Linux, 64-bit Moving the mouse cursor over a card, or while dragging a card with the mouse, the mouse cursor is hidden. The mouse cursor is only visible while it is over the playing area where no cards are. For games (like Klondike) that have a stack to draw new cards from, the mouse cursor is visible when moving it over the stack of face-down cards to draw new cards from.
Update: this bug only occurs when running a Wayland session, which is now the default with GNOME 3.22. The bug can not be reproduced after switching to a Xorg session.
This is a gdk bug. On X, gdk_cursor_new_from_name returns NULL when the named cursor doesn't exist — and it is documented to do so! —, but on wayland, it never returns NULL but instead a blank (invisible) cursor. Running aisleriot on weston, I get these messages: (sol:3723): Gdk-WARNING **: gdkcursor-wayland.c:170: Unable to load openhand from the cursor theme (sol:3723): Gdk-WARNING **: gdkcursor-wayland.c:170: Unable to load closedhand from the cursor theme (sol:3723): Gdk-WARNING **: gdkcursor-wayland.c:170: Unable to load double_arrow from the cursor theme Aisleriot does handle NULL, but since the function never returns NULL, the fallback cursors aren't loaded and instead those blank cursors used. -> gtk:wayland
It may well be that there is a behavior difference between the x11 and wayland backends. But the right fix for aisleriot is to use the documented, standard cursor names.
*** This bug has been marked as a duplicate of bug 773077 ***
*** Bug 773124 has been marked as a duplicate of this bug. ***
*** Bug 773488 has been marked as a duplicate of this bug. ***
*** Bug 774973 has been marked as a duplicate of this bug. ***